亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標題:
Android源碼學習(4)在Ubuntu11.04上編譯Android
[打印本頁]
作者:
mantlegen
時間:
2011-12-22 08:51
標題:
Android源碼學習(4)在Ubuntu11.04上編譯Android
學習了Android的版本管理工具Git和Repo之后,已經(jīng)迫不及待的要下載Android的源代碼、編譯并運行了。(注:本文是基于Ubuntu11.04)
初始化編譯環(huán)境
下載Android全部代碼大概需要2G的磁盤空間,編譯Android源碼則至少需要10G的磁盤空間。所以,在開始之間最好先檢查下系統(tǒng)的可用空間
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda8 37G 23G 13G 65% /
安裝JDK
Ubuntu默認的包管理配置文件中不包含SUN JDK的地址,可以采用如下方法將其包倉庫的地址通知給APT,并下載安裝:
$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$ sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk
安裝Android編譯所必須的包
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev libncurses5-dev \
x11proto-core-dev libx11-dev libreadline5-dev \
libgl1-mesa-dev g++-multilib mingw32 tofrodos
(注:和Android官網(wǎng)提供的安裝手冊不一致的是,在Ubuntu11.04中,
lib32ncurses5-dev和lib32readline5-dev包名字有所改變,ia32-libs和lib32z-dev已經(jīng)不存在了,但是不影響編譯運行)
配置USB訪問權限
在Ubuntu系統(tǒng)中,普通用戶默認情況下是不能直接訪問USB設備的。但是,可以通過創(chuàng)建文件/etc/udev/rules.d/51-android.rule,并添加如下內容來配置用戶可以訪問USB設備:
# adb protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<username>"
# fastboot protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="<username>"
# adb protocol on crespo (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="<username>"
# fastboot protocol on crespo (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="<username>"
下載Android源代碼
采用
Android源碼學習(2)使用Git和Repo進行版本管理
所述的方法下載源代碼
如果之前沒有指定分支,可以通過如下方法指定分支,并更新代碼
$ repo init -b gingerbread
$ repo sync
repo sync命令的作用就是下載整個Android源碼到本地,這個操作時間較長,具體時間和網(wǎng)速有關(我整整下載了一宿
)。
源碼編譯
初始化環(huán)境變量
$ source build/envsetup.sh
including device/htc/passion/vendorsetup.sh
including device/samsung/crespo4g/vendorsetup.sh
including device/samsung/crespo/vendorsetup.sh
配置編譯目標
$ lunch
You're building on Linux
Lunch menu... pick a combo:
1. generic-eng
2. simulator
3. full_passion-userdebug
4. full_crespo4g-userdebug
5. full_crespo-userdebug
Which would you like? [generic-eng]
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.3.5
TARGET_PRODUCT=generic
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=false
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=GINGERBREAD
============================================
編譯源碼
$ make -j4
運行模擬器
編譯成功后,生成的全部目標文件都在源碼所在目錄的out目錄下。在運行模擬器,體驗Android之前,需要添加如下環(huán)境變量到你的.profile文件中:
export ANDROID_SRC=${HOME}/android/source
export ANDROID_OUT=${ANDROID_SRC}/out
export PATH=${PATH}:${ANDROID_OUT}/host/linux-x86/bin
export ANDROID_PRODUCT_OUT=${ANDROID_OUT}/target/product/generic
然后,重新開啟新終端,使剛才的設置生效,在命令行運行如下命令
$ emulator
終于看到了Android桌面了
歡迎光臨 Chinaunix (http://72891.cn/)
Powered by Discuz! X3.2