Android2.3.1源碼編譯簡略版

Android2.3.1源碼編譯

編譯2.3.1源碼,用于學(xué)習(xí)老羅的《Android系統(tǒng)源碼解析》

安裝虛擬機(jī)

Android源碼編譯必須在Linux環(huán)境下才能運(yùn)行,所以必須使用Linux系統(tǒng),在這里使用ubuntu14版本,虛擬機(jī)使用vmware12,這些可自由在網(wǎng)絡(luò)上下載。

安裝虛擬機(jī)看個(gè)人習(xí)慣,一般配置配置虛擬硬盤大小最好在70G以上,如果要下載編譯高版本的Android,那么硬盤設(shè)定在200G以上比較好。

配置虛擬機(jī)環(huán)境

Android2.3.1安裝需要java1.6版本,需要下載然后手動(dòng)配置環(huán)境變量。

安裝其他編譯時(shí)依賴的軟件.

    sudo apt-get install gnupg
    sudo apt-get install flex
    sudo apt-get install bison
    sudo apt-get install gperf
    sudo apt-get install zip
    sudo apt-get install curl
    sudo apt-get install build-essential
    sudo apt-get install libesd0-dev
    sudo apt-get install libwxgtk2.8-dev
    sudo apt-get install libsdl-dev
    sudo apt-get install lsb-core
    sudo apt-get install lib32readline-gplv2-dev
    sudo apt-get install g++-multilib
    sudo apt-get install lib32z1-dev
    sudo apt-get install libswitch-perl
    sudo apt-get install valgrind
    sudo apt-get install phablet-tools
    sudo apt-get install git-core gnupg

下載源碼

由于Google無法正常鏈接,所以這里采用了清華大學(xué)開源鏡像網(wǎng)站進(jìn)行下載源碼,地址如下:

https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/

下載詳細(xì)方法網(wǎng)站上有,這里粗略的寫一下:

下載 repo 工具:

repo同步鏈接的一個(gè)工具,用于從服務(wù)器獲取不同版本的android源碼

mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

下載初始化包

由于初始化包比較大,所以不推薦大家直接通過http下載,可以通過各種下載工具直接下載初始化包,網(wǎng)址如下:

https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/

由于我們需要android2.3.1的源碼,因此不需要選擇最新的初始化包,可以選擇最小的初始化包。

初始化源碼

在下載完初始化包之后,假設(shè)pc與虛擬機(jī)的ubuntu之間設(shè)定的共享文件夾為Share(Windows位于D:Share, ubuntu為mnt/hgfs/Share).
將aosp(初始化包)放置在share中。
然后在Ubuntu中創(chuàng)建工作目錄(可隨意命名),用于放置android源碼。

mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY

然后將aosp解壓到WORKING_DIRECTORY,然后在命令行初始化:

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-2.3.1_r1

獲取android分支2.3.1的源碼。

然后同步源碼樹(以后只需執(zhí)行這條命令來同步):

repo sync

android2.3.1源碼較小,一般只需要三四個(gè)小時(shí)就能下載完畢。

下載完就可按照書上所說進(jìn)行編譯源碼。

下載Android內(nèi)核

在《Android系統(tǒng)源碼解析》中需要Android內(nèi)核源碼,但是也是需要谷歌的地址,可以按照書中所說,把git地址更換為清華大學(xué)開源鏡像網(wǎng)的地址進(jìn)行下載,網(wǎng)址如下:

http://blog.csdn.net/sunao2002002/article/details/53057374

這樣就可以獲取到相同的內(nèi)核地址

源碼查看工具

Android系統(tǒng)的源碼在Ubuntu可以使用Android studio來查看,但是需要先編譯源碼,android2.3.1編譯源碼只需要兩三個(gè)小時(shí),期間可能出現(xiàn)一系列錯(cuò)誤,但是都可以搜索到解決答案。

在編譯完源碼后,在源碼根目錄執(zhí)行:

mmm development/tools/idegen/

mmm命令需要在源碼根目錄先執(zhí)行:

. build/envsetup.sh

執(zhí)行后才可使用mmm命令。

執(zhí)行后在根目錄繼續(xù)執(zhí)行:

sh ./development/tools/idegen/idegen.sh

就能在源碼根目錄生成android.iws, android.ipr, android.iml 。使用android studio打開android.ipr即可

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容