小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Ubuntu環(huán)境下 Android平臺(tái)源碼的下載及編譯

 tracyf 2013-05-30
Ubuntu環(huán)境下 Android平臺(tái)源碼的下載及編譯
2012-02-02 17:08:56     我來(lái)說(shuō)兩句      
收藏    我要投稿
本文介紹Ubuntu環(huán)境下Android源碼下載及編譯方法,Android源碼是什么?Android源碼就是指Android平臺(tái)和軟件源碼,不單指Linux內(nèi)核Kernel,我們常說(shuō)的Linux Kernel在這個(gè)Open source project里,只是其中的一個(gè)組成部分。那么我們什么時(shí)候需用到Andriod源碼呢?添加修改驅(qū)動(dòng)、固化APK應(yīng)用、定制OS、權(quán)限及服務(wù)修改或固化等等,大都需要修改到Android源碼,當(dāng)然了做單純的上層APK開(kāi)發(fā)也可以使用,Android源碼比較大,大概有3G+(不包含Linux內(nèi)核),所以大家在下載前已經(jīng)把磁盤(pán)空間配置好,免得浪費(fèi)一個(gè)晚上時(shí)間。
 
 
以下是自測(cè)環(huán)境情況:
 
Ubuntu 10.10 x86
Android 2.3
主要參考網(wǎng)址:
 
Android源代碼官方網(wǎng)站:http://source.
 
編譯參考1:http://source./source/initializing.html
 
編譯參考2:http://source./source/downloading.html
 
編譯參考3:http://source./source/building.html
 
編譯參考4:http://source./source/building-devices.html
 
下面就把a(bǔ)ndroid源碼在ubuntu 10.10上下載、編譯過(guò)程匯總一下,官方文檔比較詳細(xì)的,本文以摘要匯總補(bǔ)充為主,如仍有問(wèn)題盡量參考官方網(wǎng)頁(yè)或留言。
 
一、初始環(huán)境搭建
1、安裝JDK
下面是安裝Java 6的命令格式,按照順序在終端中執(zhí)行:
 
Java 6(for android 2.1+):
 
$ sudo add-apt-repository "deb http://archive./ lucid partner"
 
$ sudo add-apt-repository "deb-src http://archive./ubuntu lucid partner"
 
$ sudo apt-get update
 
$ sudo apt-get install sun-java6-jdk
 
假如你想切換JAVA版本(安裝多個(gè)JAVA版本時(shí)),輸入如下指令:
 
sudo update-alternatives --config java
 
sudo update-alternatives --config javac
 
使用如下指令查看當(dāng)前的Java版本號(hào):
 
java -version
 
補(bǔ)充:如何在兩個(gè)版本的java jdk中切換
 
        
 
由于開(kāi)發(fā)需要,我得安裝java5和java6在ubuntu上,如何從一個(gè)版本的java切換到另外一個(gè)版本?update-java-alternatives 可以幫你實(shí)現(xiàn)這個(gè)功能。
 
你可以使用update-java-alternatives -l 來(lái)查看已經(jīng)安裝的jdk版本。
 
dallas@dallas-desktop:~/work$ update-java-alternatives -l
java-1.5.0-sun 53 /usr/lib/jvm/java-1.5.0-sun
java-6-sun 63 /usr/lib/jvm/java-6-sun
 然后可以使用update-java-alternatives -s xxx來(lái)選擇需要使用的jdk版本
 
update-java-alternatives -s java-6-sun
 
   
2、安裝編譯工具
以下命令,一次執(zhí)行全部需要的編譯工具安裝
 
$ 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 libz-dev libgl1-mesa-dev
 
天緣在測(cè)試時(shí)使用上面的配置,似乎沒(méi)發(fā)現(xiàn)缺少什么,如果缺少某個(gè)軟件包,可使用命令再單獨(dú)補(bǔ)充安裝,比如安裝libc6-dev-i386,命令如下:
 
sudo apt-get install libc6-dev-i386
 
二、下載Android源碼
3、創(chuàng)建工作目錄
進(jìn)入工作目錄(比如works),創(chuàng)建bin目錄:
 
mkdir ~/works
 
mkdir ~/works/android_dev
 
cd ~/works/android_dev
 
mkdir bin
 
4、安裝repo版本管理工具(基于git基礎(chǔ)開(kāi)發(fā),便于git資源管理)
curl http://android.git./repo > ~/works/android_dev/bin/repo
 
cd bin
 
chmod a+x repo
 
關(guān)于repo更多參考:http://source./source/version-control.html
 
5、準(zhǔn)備下載Android源碼
cd ~/works/android_dev
 
./bin/repo init -u git://android.git./platform/manifest.git
 
這里默認(rèn)下載最新的的版本(2.3),如果下載其它版本,請(qǐng)使用類(lèi)似下面命令(后面為版本簡(jiǎn)稱):
 
repo init -u git://android.git./platform/manifest.git -b cuccake
 
6、配置repo賬戶
git config --global user.email "[email=abc@gmail.com]abc@gmail.com[/email]"
 
git config --global user.name "ABc"
 
7、開(kāi)始下載android platform的源代碼
./bin/repo sync
 
由于android 的源碼很大,現(xiàn)在新版本的完整源碼已經(jīng)高達(dá)3G 以上,都是從GG官方下載,速度很慢(時(shí)間大約要一個(gè)晚上),執(zhí)行后可以回家睡覺(jué)或出去通宵均可,有一點(diǎn)需注意在下載之前一定要確保你的磁盤(pán)可用空間足夠。
 
如要下載kernel(即Linux內(nèi)核源碼):
 
$repo sync kernel
 
8、添加公鑰
$ gpg --import
 
該命令是交互式導(dǎo)入公鑰,參照Google官方說(shuō)明,這個(gè)公鑰是用來(lái)簽名TAGS以表明該版本為RELEASE版本(這里翻譯似乎有點(diǎn)問(wèn)題,原話是The key is used to sign annotated tags that represent releases)這一步不執(zhí)行仍時(shí)可以正常編譯的,但如編譯Release版本時(shí),建議加上,gpg(GNU Privacy Guard)是個(gè)開(kāi)源加解密軟件,交互導(dǎo)入密鑰參考上文的官方downloading.html這個(gè)頁(yè)面,還可參考文末地址。
 
9、選擇版本
$ git tag -v tagname
 
只需選擇版本就可以了,是普通版還是精簡(jiǎn)版或是其它,直接敲數(shù)字和回車(chē)就可以了。
 
三、編譯Android源碼
10、更新環(huán)境變量(選擇編譯目標(biāo))
source build/envsetup.sh
 
11、選擇編譯目標(biāo)對(duì)象
命令格式:BUILD-BUILDTYPE,其中BUILD和BUILDTYPE可參考官方網(wǎng)頁(yè)【編譯參考3和編譯參考4】。命令如果不支持或打錯(cuò)會(huì)有提示信息。比如:
 
lunch full-eng
 
其它命令如,
 
lunch full_crespo-userdebug
 
匯總格式如下:
 
lunch (generic,full,full_crespo,crespo4g,passion)-(user,userdebug,eng)
 
上面是默認(rèn)的設(shè)置,如果需要針對(duì)開(kāi)發(fā)用機(jī),可以選擇使用source build/envsetup.sh命令查看,Android 2.3代碼支持htc,sumsung等三款目標(biāo)機(jī)型。更多請(qǐng)參考上文提及的官方網(wǎng)頁(yè),官方提到Nexus S和Nexus s 4G是Android開(kāi)源項(xiàng)目的推薦用機(jī),而Nexus One只是試驗(yàn)用機(jī)且不被支持(何意?原生代碼編譯后無(wú)法燒到Nexus One??)。
 
12、編譯Android源碼
make -j4
 
注意:該指令是帶杠的jn(起初天緣總是不能運(yùn)行,就直接用make了,三天后才發(fā)現(xiàn)原來(lái)丟了個(gè)杠杠*_*),按照官方介紹,后面這個(gè)-jn是你機(jī)子CPU數(shù)*核心數(shù)*單CPU線程數(shù)*(1或2),編譯時(shí)間大概40分鐘-2個(gè)小時(shí),看機(jī)子性能了,最終編譯結(jié)果在:
 
~/works/android_dev/out
 
另外,編譯之前建議把/works/android_dev整個(gè)目錄備份一下,下次如果重裝系統(tǒng),可以直接拷貝過(guò)來(lái)使用,再編譯時(shí)可能需要設(shè)置一下權(quán)限(chmod -R 777 android_dev),否則可能錯(cuò)誤多多。
 
四、運(yùn)行Android虛擬機(jī)
13、先設(shè)置環(huán)境變量
指令如下:
 
export ANDROID_PRODUCT_OUT=/works/android_dev/out/target/product/generic
 
設(shè)置完成后,先logout退出,再login登錄進(jìn)來(lái)即可更新環(huán)境變量。
 
注意,這里的環(huán)境變量設(shè)置也可以起初放到系統(tǒng)的配置文件里,.bashrc,天緣實(shí)測(cè)好像就這么一句就OK了,網(wǎng)上有說(shuō)要設(shè)置如下幾個(gè)(如果運(yùn)行有問(wèn)題時(shí)可以嘗試使用,指令中部分路徑可能需替換成你自己的設(shè)置):
 
export ANDROID_DIR=~/works/android_dev
 
export ANDROID_PRODUCT_OUT=${ANDROID_DIR}/out/target/product/generic
 
export ANDROID_PRODUCT_OUT_BIN=${ANDROID_DIR}/out/host/linux-x86/bin
 
export PATH=${PATH}:${ANDROID_PRODUCT_OUT_BIN}:${ANDROID_PRODUCT_OUT};
 
14、運(yùn)行編譯結(jié)果
進(jìn)入android_dev/out/host/bin/目錄下,然后運(yùn)行:
 
emulator --debug-init -skin QVGA-L
 
或:
 
./emulator
 
即可顯示機(jī)器人界面。
 
補(bǔ)充:
 
映像編譯成功后會(huì)在目錄~/works/android/out/target/product/generic 下產(chǎn)生一些image文件ramdisk.img system.img userdata.img android-info.txt,關(guān)于這些映像使用,后面文章會(huì)介紹。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多