近來(lái)著眼于ANDROID4.0的關(guān)注與研究,第一時(shí)間把ANDROID4.0源碼下 下來(lái)了,只是時(shí)間問(wèn)題,所以沒(méi)能第一時(shí)間把過(guò)程記錄下來(lái),今天算是富裕點(diǎn)時(shí)間就給寫下來(lái),希望能給灼熱于ANDROID繼續(xù)平臺(tái)研究而又未及時(shí)獲得相關(guān)資 源的熱機(jī)友們做個(gè)簡(jiǎn)單的參考,好了,廢話不多說(shuō),我就直接貼圖吧,現(xiàn)在很簡(jiǎn)單,只要你是LINUX系統(tǒng),一直并使其開(kāi)發(fā),那就不必要考慮之前JDK環(huán)境的 問(wèn)題,直接從基本環(huán)境確定下入手吧,首先打開(kāi)http://www.android.com進(jìn)入:

看到 Getting the Source,點(diǎn)擊進(jìn)入

,進(jìn)入頁(yè)面后,里面有詳細(xì)的下載描述,不用說(shuō),一步步來(lái),很簡(jiǎn)單的,與之前一樣,首先創(chuàng)建目錄: mkdir ~/bin,其次設(shè)置目錄路徑環(huán)境: PATH=~/bin:$PATH,然后就是下載REPO腳本來(lái)執(zhí)行下面需要下載的任務(wù):
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
然后就是賦予權(quán)限:chmod a+x ~/bin/repo ,準(zhǔn)備要執(zhí)行的任務(wù)OK了,下面,我們需要來(lái)創(chuàng)建一個(gè)目錄單獨(dú)存放其下咋的文件:mkdir WORKING_DIRECTORY(根據(jù)官方來(lái)吧,自己命名是OK的),再就是進(jìn)入其目錄: cd WORKING_DIRECTORY,現(xiàn)在我來(lái)初始化要執(zhí)行的是哪個(gè)版本吧,咋就直接吧主版本一起DOWN下來(lái)吧:
repo init -u https://android.googlesource.com/platform/manifest
如果你執(zhí)行這個(gè)命令的話:
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
上面就只能下載ANDROID4.0的內(nèi)源碼了,
所以我們還是執(zhí)行前面的命令,把整個(gè)4.0的源碼都DOWN下來(lái)吧,上面OK后,咋就可以開(kāi)始把源碼數(shù)據(jù)開(kāi)始同步下來(lái)了:
repo sync
我截了些圖,觀察下吧,如果你有報(bào)錯(cuò)的話:

這是開(kāi)始同步數(shù)據(jù)的截圖,

,下載基本不報(bào)錯(cuò),沒(méi)問(wèn)題,速度也好行,但是完后很大,要注意的空間收否可岑收,OK,下載完后,先不要急,使用一下命令:

我就直接截圖了,其實(shí)就是根據(jù)GOOGLE官方的一次命令與操作來(lái)進(jìn)行,這部是做相應(yīng)的校驗(yàn),

好了,不多說(shuō)了,以上工作完成后,基本可以開(kāi)始編譯了,編譯很簡(jiǎn)單,GOOGLE這次簡(jiǎn)化了編譯操作,先要初始化環(huán)境,我就直接截圖了:

,然后,通過(guò) make -j4就可以開(kāi)始編譯了,
編譯的過(guò)程比較慢,而且CPU基本成滿狀態(tài),我之前的版本基本不會(huì)超過(guò)3個(gè)小時(shí),但是這個(gè)版本我竟然編譯了12小時(shí)之多(我沒(méi)到12點(diǎn)就睡覺(jué)了,看來(lái)我的機(jī)子需要升級(jí)了,IBM的筆記本還是i3的),過(guò)程中就簡(jiǎn)單那的截了些圖:

,不知道各位 在編譯源碼的時(shí)候,有沒(méi)有去看相應(yīng)的編譯過(guò)程或在編譯后的日志,你注意觀察的話,上面會(huì)有些簡(jiǎn)單的編譯中遇到不嚴(yán)緊的CODE會(huì)做出提示,上面這個(gè)圖的提 示:在external/icu4c/i18n/calendar.cpp:在成員函數(shù)'void icu_46::Calendar::setWeekData(const icu_46::Locale&,const char*,UErrorCode&)中:3260:88:警告:建議在'||'的操作數(shù)中出現(xiàn)的'&&'前面加上括號(hào) 【-Wparentheses】',別看這簡(jiǎn)單的提示,作為程序員,它意味著什么,我在這里就不對(duì)其進(jìn)行分解了,編碼的養(yǎng)成一個(gè)好的習(xí)慣,我認(rèn)為還是必須 的,OK,下面我就簡(jiǎn)單截幾張編譯過(guò)程的圖吧,就不進(jìn)行詳細(xì)分解了,如果你有時(shí)間的話,介意你還是去把其日志找出來(lái),好好的再看一下:

,

,當(dāng)你看到這張圖后,也就是宣告,編譯結(jié)束:

編譯產(chǎn)生了相應(yīng)的APK,與其systen,img,好了,如果你有設(shè)備的話,可以對(duì)其進(jìn)行‘燒雞’了,不過(guò)在這里,我就直接啟動(dòng)模擬器來(lái)操作,就不燒了,如果你愛(ài)燒,你就自己燒去吧,啟動(dòng)模擬器,很簡(jiǎn)單:
$ emulator