Linux開發環境搭建 三 (在Ubuntu上Android/Linux編譯環境的準備)
工欲善其事,必先利其器。萬丈高樓平地起,Android/Linux的學習,咱們需要從最基本的開發環境開始。
一、 安裝Ubuntu系統
在Linux開發環境搭建 一 (Ubuntu安裝的方式,如何選擇?)一文中,我們已經根據自己的實際情況選擇安裝了Ubuntu系統(博主itxiebo選擇了第二種方式,並無其他特殊原因,只是因爲這樣的方式可以減少編譯Android系統的時間。經過一段時間的適應,Ubuntu能滿足基本的辦公需要,例如,本博文便是在Ubuntu下完成的)。
二、預留足夠大的硬盤空間
在安裝Ubuntu時,無論是虛擬機方式,還是雙系統方式,請預留足夠的硬盤空間。那麼,多大才算足夠呢?博主在Windows 7 + Ubuntu 14.04安裝時,分配給Ubuntu 80G的空間,以Android 4.4.2爲例,編譯之後所佔硬盤空間爲35GB,除去Ubuntu系統自己的消耗,只能剩下4.2GB:
三、電腦內存大小直接影響Android編譯速度
itxiebo的電腦內存4G,在Ubuntu獨立運行下編譯Android 4.4.2,實測編譯時間6小時(第一次full build)。所以,在虛擬機安裝Ubuntu時,要特別注意內存的分配。
以上是Ubuntu安裝時需要特別注意的地方。還沒有結束,我們還需要安裝Java SDK(簡稱JDK)、交叉編譯工具鏈和一些依賴包。
四、安裝Java SDK
在/home下新建jdk文件夾。
cd /home
mkdir jdk下載jdk安裝包,可以選擇http://www.oracle.com官網下載(注意必須是jdk 1.6版本的,Android編譯需要),也可以選擇博主的分享下載(jdk-6u38-linux-x64.bin)。將下載的bin文件放在/home/jdk目錄下。
改變jdk-6u38-linux-x64.bin的權限,並執行此bin文件,將生成jdk1.6.0_38文件夾。
cd /home/jdk
chmod 777 jdk-6u38-linux-x64.bin
./jdk-6u38-linux-x64.bin至此,我們在/home/jdk/jdk1.6.0_38下安裝了Java SDK。接下來,我們還需要配置環境參數,即在/etc/profile中添加jdk的配置參數,使得jdk可用。
sudo vim /etc/profile,打開profile(爲何要使用sudo?因爲/etc/profile具體root權限);
鍵盤上輸入i,進入編輯模式;
然後,在profile文件尾部添加如下內容,按下ESC,輸入:wq保存並退出vim編輯,最後source /etc/profile使環境變量生效。
可通過java -version檢查Java SDK是否生效。
export JAVA_HOME=/home/jdk/jdk1.6.0_38
export JRE_HOME=/home/jdk/jdk1.6.0_38/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
五、交叉編譯工具鏈(toolchain)
sudo mkdir /usr/local/arm
進入arm-2009q3.tar.bz2所在的目錄
sudo tar -zxvf arm-2009q3.tar.bz2 -C /usr/local/arm/設置環境變量,sudo vim /etc/environment,把/usr/local/arm/arm-2009q3 加到環境變量裏面去。
注意,toolchain實際是編譯開發板image纔用到,如果只在PC上編譯玩玩的話,不安裝也沒有問題。
六、安裝依賴包
編譯Android需要用到的依賴包,特別注意如下命令中的”l” “1”的區別
sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib python-markdown libxml2-utils x11proto-core-dev libgl1-mesa-glx:i386 mingw32 xsltproc tofrodos zlib1g-dev:i386
七、gcc/g++降版本
通過gcc -v和g++ -v命令確認自己的gcc和g++版本。如果不是4.4版本的話,需要將gcc/g++版本降到4.4(通常都是降),不然編譯Android 4.4.2會報錯。關於如何操作,請自行百度。
至此,咱們在Ubuntu下準備Android/Linux的編譯環境已經結束。是否心情小有激動,迫不及待地想編譯試試看呢?下一篇我們將在Ubuntu下下載,編譯,運行Android系統,敬請期待……
itxiebo
20160404