一、Ubuntu環境配置html
硬盤:120Gjava
內存:4Gandroid
注:配置很重要,直接影響可否編譯成功。git
二、安裝JDKweb
sudo apt-get updatecurl
sudo apt-get install openjdk-7-jdkjvm
注:驗證是否安裝成功flex
java -versionui
三、配置JDKurl
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
四、安裝編譯依賴的軟件
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版本不一樣,依賴的軟件也不同。
五、初始化編譯環境
. build/envsetup.sh
六、選擇編譯包
lunch aosp_arm-eng
注:除了以上這個還有不少其餘的編譯包,能夠經過輸入lunch後按Tab鍵查看。
七、編譯
make
八、遇到的問題
一直停在:
target SharedLib: libwebviewchromium (out/target/product/generic/obj/SHARED_LIBRARIES/libwebviewchromium_intermediates/LINKED/libwebviewchromium.so)
解決辦法:
su切換到超級用戶,執行如下操做:
一、dd if=/dev/zero of=/opt/swap1 bs=1024 count=1024000
(count的值等於1024 x 你想要的文件大小, 4096000是4G,1024000是1G)
二、mkswap /opt/swap1
(把這個文件變成swap文件)
三、swapon /opt/swap1
(啓用這個swap文件)
四、爲了使每次開機時都能正常使用swap文件,因此這裏須要把swap文件增長到fstab文件中
sudo vi /etc/fstab
在最後一行增長以下內容
/opt/swap1 swap swap defaults 0 0
重複上述4步,再次增長一個/opt/swap2的文件。
再次從新編譯源碼:
一、
make installclean(保留以前編譯的)
或
make clean(清空以前編譯的)
建議選擇第一個
二、. build/envsetup.sh
三、lunch aosp_arm-eng
四、make
九、有圖有真相
十、參考資料