編譯環境
- ubuntu:ubuntu-15.04-desktop-amd64
- android:android-5.1.0_r3
- 硬碟空間100G,最好預留比較多的硬碟空間,以後可以擴充用。如果不設定ccache,編譯完後差不多占用47G+,設定ccache,會多占用8G+。
編譯步驟
1. 下載下傳安裝JDK
sudo apt-get update
sudo apt-get install openjdk--jdk
在Ubuntu下編譯最新的Android源碼需要OpenJDK環境
2. 更新下預設的java版本(可選)
sudo update-alternatives --config java
sudo update-alternatives --config javac
3. 安裝依賴包
sudo apt-get install bison g++-multilib git gperf libxml2-utils make zlib1g-dev:i386 zip
4. 設定ccache(可選)
在.bashrc中添加
export USE_CCACHE=
export CCACHE_DIR=<path-to-your-cache-directory># 預設路徑為~/.ccache
在Android5.1源碼根目錄下執行
prebuilts/misc/linux-x86/ccache/ccache -M G
ccache會在重新編譯時加快編譯速度。
5. 配置環境
source build/envsetup.sh
6. 設定編譯target
預設就是aosp_arm-eng,如果想換成其他的話,可以先輸入lunch,然後會顯示可設定的target清單
7. 更新API
這一步如果不執行的話,在後面編譯過程中可能會報錯
8. 編譯
j後面的數字表示最大任務數,視機器的配置自行設定,配置高的盡量設定大一點,可以節省編譯時間,筆者編譯過程大概花費了兩個半小時。如果編譯中編譯失敗,可以使用make -k繼續編譯
9. 編譯完成
編譯成功後,可以看到下面的輸出:
#### make completed successfully (02:24:19 (hh:mm:ss)) ####
然後可以使用模拟器來運作試試:
emulator
在第5步設定環境的時候已經把emulator加入到PATH中,是以可以直接執行。如果不能執行,可以直接運作prebuilts/android-emulator/linux-x86_64/emulator,或者重新執行下第5步和第6步。
參考:
http://source.android.com/source/initializing.html
http://source.android.com/source/building-running.html
http://blog.csdn.net/luoshengyang/article/details/6559955/