1、Ubuntu環境配置
硬盤:120G
內存:4G
注:配置很重要,直接影響能否編譯成功。
2、安裝JDK
sudo apt-get update
sudo apt-get install openjdk-7-jdk
注:驗證是否安裝成功
java -version
3、配置JDK
sudo gedit /etc/profile
在文件末尾加上:
JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH
4、安裝編譯依賴的軟件
sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \
lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \
libgl1-mesa-dev libxml2-utils xsltproc unzip
注:Ubuntu版本不同,依賴的軟件也不一樣。
5、初始化編譯環境
. build/envsetup.sh
6、選擇編譯包
lunch aosp_arm-eng
注:除了以上這個還有很多其他的編譯包,可以通過輸入lunch后按Tab鍵查看。
7、編譯
make
8、遇到的問題
一直停在:
target SharedLib: libwebviewchromium (out/target/product/generic/obj/SHARED_LIBRARIES/libwebviewchromium_intermediates/LINKED/libwebviewchromium.so)
解決辦法:
su切換到超級用戶,執行以下操作:
1、dd if=/dev/zero of=/opt/swap1 bs=1024 count=1024000
(count的值等於1024 x 你想要的文件大小, 4096000是4G,1024000是1G)
2、mkswap /opt/swap1
(把這個文件變成swap文件)
3、swapon /opt/swap1
(啟用這個swap文件)
4、為了使每次開機時都能正常使用swap文件,所以這里需要把swap文件增加到fstab文件中
sudo vi /etc/fstab
在最后一行增加如下內容
/opt/swap1 swap swap defaults 0 0
重復上述4步,再次增加一個/opt/swap2的文件。
再次重新編譯源碼:
1、
make installclean(保留之前編譯的)
或
make clean(清空之前編譯的)
建議選擇第一個
2、. build/envsetup.sh
3、lunch aosp_arm-eng
4、make
9、有圖有真相
10、參考資料
1、http://source.android.com/source/initializing.html
2、http://blog.csdn.net/vrix/article/details/48493569