Android優點在於開源,手機和平板生產商能夠根據本身的硬件進行個性定製本身的手機產品,如小米、樂Phone、M9等,所以,在對Android的源碼進行定製時,頗有必要了解一下Android對的編譯過程。Google公司官方的編譯過程只是告訴用戶如何去編譯一個通用的系統。html
Android系統的下載與編譯,Google的官網上已經給出了詳細的說明,請參照Android的官方址:http://source.android.com/source/index.html。內容主要有:java
(1) 準備Android下載與編譯環境。linux
(2) 下載源碼。android
(3) 編譯源碼及內核源碼。服務器
Android源碼的編譯Google只給出了類UNIX系統,確切的說是Ubuntu及MacOS上的詳細過程。使用Ubuntu12.04做爲編譯主機系統,因爲Android系統裏代碼大部分是用Java語言寫的,因此必需要安裝JDK,不過,不一樣的版本,對JDK的版本有不一樣的要求。在Gingerbread(2.3.x)版本及其以後的版本,使用JDK6.0,而且使用64位系統編譯。在Gingerbread(2.3.x)之前的版本,使用JDK5.0,而且能夠在32位系統上編譯。對於硬件環境來說,要有足夠快的PC,若是有條件,最好使用實體PC。內存最少1GB,硬盤最少要30GB。也可使用VMware或VirtualBox等虛擬機軟件,可是編譯速度太慢,若是內存小於1GB,在編譯系統時候可能會出錯。curl
JDK6.0建議直接從SUN公司的網站上下載,其網址http://java.sun.com/javase/downloads/。工具
下載Android4.0及Goldfish源碼:網站
(1) 下載並初始化repo工具:經過curl命令下載repo工具;給repo工具加執行權限;建立源碼目錄;初始化repo工具,準備訪問Google源碼倉庫;保證Ubuntu可以上網,而且能正常鏈接到Android服務器,在初始化完repo工具後,會提示輸入Gmail郵箱及用戶名驗證。ui
(2) 下載Android源碼:$repo sync -jnurl
(3) 其餘源碼下載:www:linaro.org
(4) 下載模擬器Goldfish內核源碼:Google在開發Android系統的同時,使用qemu開發了針對每個版本的一個模擬器,這大大下降了開發人員的開發成本,便於Android技術的推廣。qemu是一個開源的模擬器軟件,而Google使用qemu模擬的是ARM936ej-s的Goldfish處理器,若是開發人員在沒有目標開發板的狀況下,想要對硬件進行操做Android底層的驅動,可使用模擬器的內核源碼。
編譯Android及goldfish內核源碼:
(1) 編譯Android源碼:初始化環境:切換到Android源碼目錄 $cd WORKING_DIRECTORY 執行以下命令,加載編譯過程當中用到的命令,環境變量: $ source build/envsetup.sh
(2) 選擇編譯選項 $ lunch
(3) 編譯前的準備
(4) 編譯源碼 $ make –jn
(5) 編譯goldfish內核源碼:指定gcc交叉編譯器,直接使用Android自帶的arm-eabi-4.4.3編譯器,它在WORKING_DIRECTORY/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin路徑下。
Android編譯過程分析。Google給出的編譯步驟以下:
(1) source build/envsetup.sh:加載命令。
(2) lunch:選擇目標平臺編譯選項。
(3) make:執行編譯
本章節介紹了編譯Android系統的通常編譯過程,在分析了編譯過程和配置文件後,重點介紹了特東平臺下Android系統編譯和定製手機模擬器ROM。