《LINUX教學(xué):Ubuntu 16.04編譯安裝Android 7.1.2》要點:
本文介紹了LINUX教學(xué):Ubuntu 16.04編譯安裝Android 7.1.2,希望對您有用。如果有疑問,可以聯(lián)系我們。
在Ubuntu 16.04下編譯安裝Android 7.1.2,折騰了好久,終于搞定了這個環(huán)境.記錄一下.
準備事情:
1. 首先在Ubuntu官網(wǎng)上下載Ubuntu16.04的官方鏡像.官網(wǎng)下載地址(這個找了好久,這里可以直接下載ISO鏡像):https://launchpad.net/ubuntu/+cdmirrors
2. 建議直接安裝到自己硬盤上(保舉雙系統(tǒng)),不要在虛擬機上搞,除非你有足夠大的SSD.我之前在虛擬機上試過,電腦的性能完全發(fā)揮不出來,后來搞了雙系統(tǒng),發(fā)現(xiàn)一切都是那么舒服.
3. Android源碼下載辦法:https://lug.ustc.edu.cn/wiki/mirrors/help/aosp
下面假定已經(jīng)準備好了Ubuntu系統(tǒng),而且下載好了Android 7.1.2的源碼(其他版本也行).
情況配置:
1. 安裝根本的依賴軟件:
注意,我使用的是Ubuntu 16.04,下面的依賴軟件都是根據(jù)Ubuntu16.04來的,如果你用的不是Ubuntu16.04,則要根據(jù)你的實際情況來,不然可能會出現(xiàn)錯誤.
sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386 sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib sudo apt-get install tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 sudo apt-get install dpkg-dev libsdl1.2-dev libesd0-dev sudo apt-get install git-core gnupg flex bison gperf build-essential sudo apt-get install zip curl zlib1g-dev gcc-multilib g++-multilib sudo apt-get install libc6-dev-i386 sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev sudo apt-get install lib32z-dev ccache sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4
2. 根據(jù)本身所下載的Android代碼的版本,選擇安裝所需的jdk版本
我下載的Android版本是7.1.2,所需的JDK版本是openjdk-8-jdk.Ubuntu默認自帶的openjdk-8-jdk的安裝源,可以直接安裝,使用下面的敕令安裝即可:
sudo apt-get update sudo apt-get install openjdk-8-jdk
如果使用的OpenJDK7,由于Ubuntu 16.04沒有OpenJDK7的源,因此要先添加源,然后在安裝OpenJDK7,按下面的敕令操作即可:
sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get install openjdk-7-jdk
安裝完以后,執(zhí)行下面的敕令添加JAVA_HOME相關(guān)配置
sudo gedit /etc/profile
在打開的profile文件的末端添加下面的內(nèi)容:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
修改了/etc/profile文件必要重啟才能生效,但使用下面命令可以在不重啟的情況下在當(dāng)前bash環(huán)境生效:
source /etc/profile
最后,檢查一下jdk是否安裝勝利:
java -version
3. 編譯參數(shù)設(shè)置裝備擺設(shè)
根本環(huán)境準備完成后,下面開始Android編譯相關(guān)配置.
1)改動android_common_build.mk文件,查找WITHOUT_HOST_CLANG,將
ifneq ($(WITHOUT_HOST_CLANG),true)
改動成
ifeq ($(WITHOUT_HOST_CLANG),false)
如果不修改這里,會遇到一個比擬棘手的編譯錯誤,修改的目的是把CLANG這個編譯選項關(guān)掉.
2)改動 .bashrc文件
在終端中執(zhí)行下面的敕令,在.bashrc文件末尾添加:export USE_CCACHE = 1
echo export USE_CCACHE=1 >> ~/.bashrc
為了進步編譯效率,設(shè)置編譯器高速緩存:
prebuilts/misc/linux-x86/ccache/ccache -M 50G
3)為了避免編譯時出現(xiàn)“Try increasing heap size with java option Xmx<size>”錯誤,必要修改JACK_SERVER_VM_ARGUMENTS配置.修改prebuilts/sdk/tools/jack-admin文件,在JACK_SERVER_VM_ARGUMENTS的后面添加-Xmx4096M.一共有2處,都要進行修改.
修改完成以后,記得重啟一下jack server,執(zhí)行下面兩條命令即可,必定要執(zhí)行下面的命令,否則上面的修改可能不生效:
./prebuilts/sdk/tools/jack-admin kill-server ./prebuilts/sdk/tools/jack-admin start-server
?
正式編譯
準備了以后工作后,基本上就ok了,運氣好的話,在編譯的時候基本就不會再出問題.依次執(zhí)行下面的命令進行編譯即可,當(dāng)然隨著個人電腦配置的分歧,編譯所需的時候也可能會有很大差異,如果覺得 -j8 太多,可以直接使用make,默認是 -j4:
source build/envsetup.sh lunch make -j8
編譯成功后,執(zhí)行下面的命令,就可以打開Android模擬器,開始使用本身編譯的系統(tǒng)了.
emulator
后果如下:
更多Ubuntu相關(guān)信息見Ubuntu 專題頁面 /topicnews.aspx?tid=2
更多Android相關(guān)信息見Android 專題頁面 /topicnews.aspx?tid=11
本文永遠更新鏈接地址:
學(xué)習(xí)更多LINUX教程,請查看站內(nèi)專欄,如果有LINUX疑問,可以加QQ交流咨詢。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/6674.html