亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1929 | 回復(fù): 0
打印 上一主題 下一主題

Android源碼學(xué)習(xí)(4)在Ubuntu11.04上編譯Android [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-12-22 08:51 |只看該作者 |倒序?yàn)g覽
學(xué)習(xí)了Android的版本管理工具Git和Repo之后,已經(jīng)迫不及待的要下載Android的源代碼、編譯并運(yùn)行了。(注:本文是基于Ubuntu11.04)

初始化編譯環(huán)境
  • 下載Android全部代碼大概需要2G的磁盤空間,編譯Android源碼則至少需要10G的磁盤空間。所以,在開始之間最好先檢查下系統(tǒng)的可用空間
    1. $ df -h
    2. Filesystem Size Used Avail Use% Mounted on
    3. /dev/sda8   37G  23G   13G  65% /
  • 安裝JDK
    Ubuntu默認(rèn)的包管理配置文件中不包含SUN JDK的地址,可以采用如下方法將其包倉庫的地址通知給APT,并下載安裝:
    1. $ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
    2. $ sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner"
    3. $ sudo apt-get update
    4. $ sudo apt-get install sun-java6-jdk
  • 安裝Android編譯所必須的包
    1. $ sudo apt-get install git-core gnupg flex bison gperf build-essential \
    2. zip curl zlib1g-dev libc6-dev libncurses5-dev \
    3. x11proto-core-dev libx11-dev libreadline5-dev \
    4. libgl1-mesa-dev g++-multilib mingw32 tofrodos
    (注:和Android官網(wǎng)提供的安裝手冊不一致的是,在Ubuntu11.04中,lib32ncurses5-dev和lib32readline5-dev包名字有所改變,ia32-libs和lib32z-dev已經(jīng)不存在了,但是不影響編譯運(yùn)行)
  • 配置USB訪問權(quán)限
    在Ubuntu系統(tǒng)中,普通用戶默認(rèn)情況下是不能直接訪問USB設(shè)備的。但是,可以通過創(chuàng)建文件/etc/udev/rules.d/51-android.rule,并添加如下內(nèi)容來配置用戶可以訪問USB設(shè)備:
    1. # adb protocol on passion (Nexus One)
    2. SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<username>"
    3. # fastboot protocol on passion (Nexus One)
    4. SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="<username>"
    5. # adb protocol on crespo (Nexus S)
    6. SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="<username>"
    7. # fastboot protocol on crespo (Nexus S)
    8. SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="<username>"
下載Android源代碼
  • 采用Android源碼學(xué)習(xí)(2)使用Git和Repo進(jìn)行版本管理所述的方法下載源代碼
  • 如果之前沒有指定分支,可以通過如下方法指定分支,并更新代碼
    1. $ repo init -b gingerbread
    2. $ repo sync
  • repo sync命令的作用就是下載整個Android源碼到本地,這個操作時間較長,具體時間和網(wǎng)速有關(guān)(我整整下載了一宿)。
源碼編譯
  • 初始化環(huán)境變量
    1. $ source build/envsetup.sh
    2. including device/htc/passion/vendorsetup.sh
      including device/samsung/crespo4g/vendorsetup.sh
      including device/samsung/crespo/vendorsetup.sh
  • 配置編譯目標(biāo)
    1. $ lunch
    2. You're building on Linux

    3. Lunch menu... pick a combo:
    4. 1. generic-eng
    5. 2. simulator
    6. 3. full_passion-userdebug
    7. 4. full_crespo4g-userdebug
    8. 5. full_crespo-userdebug

    9. Which would you like? [generic-eng]

    10. ============================================
    11. PLATFORM_VERSION_CODENAME=REL
    12. PLATFORM_VERSION=2.3.5
    13. TARGET_PRODUCT=generic
    14. TARGET_BUILD_VARIANT=eng
    15. TARGET_SIMULATOR=false
    16. TARGET_BUILD_TYPE=release
    17. TARGET_BUILD_APPS=
    18. TARGET_ARCH=arm
    19. HOST_ARCH=x86
    20. HOST_OS=linux
    21. HOST_BUILD_TYPE=release
    22. BUILD_ID=GINGERBREAD
    23. ============================================
  • 編譯源碼
    1. $ make -j4
運(yùn)行模擬器
編譯成功后,生成的全部目標(biāo)文件都在源碼所在目錄的out目錄下。在運(yùn)行模擬器,體驗(yàn)Android之前,需要添加如下環(huán)境變量到你的.profile文件中:
  1. export ANDROID_SRC=${HOME}/android/source
  2. export ANDROID_OUT=${ANDROID_SRC}/out
  3. export PATH=${PATH}:${ANDROID_OUT}/host/linux-x86/bin
  4. export ANDROID_PRODUCT_OUT=${ANDROID_OUT}/target/product/generic
然后,重新開啟新終端,使剛才的設(shè)置生效,在命令行運(yùn)行如下命令
  1. $ emulator
終于看到了Android桌面了

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP