Linux開發環境搭建 三 (在Ubuntu上Android/Linux編譯環境的準備)

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

  1. 在/home下新建jdk文件夾。
    cd /home
    mkdir jdk

  2. 下載jdk安裝包,可以選擇http://www.oracle.com官網下載(注意必須是jdk 1.6版本的,Android編譯需要),也可以選擇博主的分享下載(jdk-6u38-linux-x64.bin)。將下載的bin文件放在/home/jdk目錄下。

  3. 改變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

  4. 至此,我們在/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)

  1. 下載arm-2009q3.tar.bz2

  2. sudo mkdir /usr/local/arm

  3. 進入arm-2009q3.tar.bz2所在的目錄
    sudo tar -zxvf arm-2009q3.tar.bz2 -C /usr/local/arm/

  4. 設置環境變量,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

發佈了29 篇原創文章 · 獲贊 44 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章