天天看點

Ubuntu15.04下編譯Android5.1源碼

編譯環境

  • 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/

下一篇: SQL: rank over

繼續閱讀