一. 安裝vmware+ubuntu環境,可以盡量選擇新一點的版本。
二. 源代碼下載下傳
在現在外網被牆的情況下,直接使用git從google下載下傳android源代碼基本是不可能成功的。
還好找到了清華大學的鏡像,位址如下:
<a href="http://mirrors.tuna.tsinghua.edu.cn/help/AOSP/" target="_blank">http://mirrors.tuna.tsinghua.edu.cn/help/AOSP/</a>
那麼隻要按照這個網站的教程一步步操作就可以了,主要是下面這句話:
可以參考老羅的部落格,下載下傳android源代碼,注意把裡面的google位址替換成tsinghua位址
<a href="http://blog.csdn.net/luoshengyang/article/details/6559955" target="_blank">http://blog.csdn.net/luoshengyang/article/details/6559955</a>
老羅的部落格裡面下載下傳的是2.3的版本,是以我下載下傳的也是2.3的。那為什麼選擇跟老羅下載下傳一樣的版本呢?因為老羅的分析真的很不錯,每一篇部落格都值得仔細研讀。
安卓版本清單:
http://blog.csdn.net/tonyfield2015/article/details/9734031
三. 編譯
cd到源代碼目錄
. build/envsetup.sh 主要. 和build之間是有個空格的,這是個source指令,執行之後,會多出幾個指令。
這個指令執行的是 源代碼目錄/build/envsetup.sh檔案,一般會用到多出來的choosecombo,mm,mmm指令。
mm編譯目前目錄,也就是一般是這樣cd ./xxx/xxx -> mm
mmm編譯指定目錄,也就是一般是這樣mmm ./xxx/xxx
choosecombo選擇編譯參數,一般預設即可。
make 編譯
四. 編譯出錯
編譯的過程中不可能一帆風順,會出現各種各樣的錯誤;
比如64位環境不能編譯32位,或者gcc版本太低或者太高,肯定會有各種各樣的錯誤。
是以,不要害怕出現錯誤,如果出現編譯出錯的情況,一般直接把錯誤貼到百度搜尋,然後一般都有解決方法。
修改之後,再執行make
五. 運作模拟器
1. 先按照老羅的方法把emulator加入環境變量
USER-NAME@MACHINE-NAME:~/Android$ export PATH=$PATH:~/working_directory/out/host/linux-x86/bin
USER-NAME@MACHINE-NAME:~/Android$ export ANDROID_PRODUCT_OUT=~/working_directory/out/target/product/generic
ps:
working_directory是我的源代碼儲存檔案夾,它的全路徑是:/home/android/working_directory, 可能大家的路徑跟這個有所不同。
不過最好把這兩行添加到home目錄下的.bashrc檔案中,這樣重新開機電腦後就不用再次輸入這兩個指令了。也就是
cd ~
vim .bashrc
輸入内容後儲存,重新開機下虛拟機。
2. 在指令行中運作emulator 啟動模拟器,如下圖:
<a href="http://s3.51cto.com/wyfs02/M02/7A/F3/wKiom1bCwHuzWgx3AAj4NaRdVnI797.png" target="_blank"></a>
PS:
AOSP-Android Open-Source Project Android開發源代碼計劃
本文轉自rongwei84n 51CTO部落格,原文連結:http://blog.51cto.com/483181/1742462,如需轉載請自行聯系原作者