標籤:
本章主要分為兩個部分:第一部分是對Android原始碼的下載編譯和測試;第二部分是對Linux核心原始碼的下載和編譯。
第一部分在下載Android原始碼之前,需要對下載環境進行配置。其步驟如下:1)建立一個用於存放下載指令檔(repo)的目錄。2)下載repo指令檔。3)建立用於存放Android原始碼的目錄。4)初始化。5)開始下載Android原始碼。在對Android下載環境配置後,要對Android原始碼目錄結構進行解析瞭解Android原始碼不同子項目的含義和內容。
瞭解目錄的結構後,在需要部分Android原始碼的前提下,可以對Android原始碼的部分下載。下載Android原始碼中的某個子項目有兩種方法:1.使用repo syne方法。2.使用git clone命令下載指定的命令格式。
在下載後,對Android原始碼進行編譯。編譯分為3部:1.初始化編譯環境。在終端中執行source build/envsetup.sh可以在終端調用這些函數。2.選擇目標。使用lunch命令設定編譯目標。3.編譯Android原始碼執行make命令即可編譯Android原始碼。
Out目錄是存放編譯Android原始碼產生的目標檔案的預設目錄。Out目錄結構分析是必不可少的。然後將自己的APK作為Android內建程式發布。用模擬器測試system.img檔案。執行mkyaffs2image system system.img重建system.img檔案。執行emulator –avd myavd –system system.img –data userdata.img使用剛剛產生的檔案即可。
Linux核心原始碼的下載和編譯和Android原始碼的稍有不同。首先Linux核心原始碼的下載不需要再下載前配置下載環境。其次,在下載的時候是對Linux核心的下載,下載Linux核心的最新版本。下載完成後,目前的目錄下有個common目錄,進入該目錄,執行git branch –a查看目錄。
然後與Android原始碼相同的是對Linux核心原始碼的目錄結構的瞭解和解析。
第三步是安裝Android核心的編譯環境。在Ubuntu Linux下編譯Linux核心需要安裝交叉編譯器。所謂交叉編譯器就是指在A架構的CPU上編譯可在B架構CPU上啟動並執行程式。
交叉編譯器可按如下步驟安裝:
1)準備工作。解壓兩個arm-linux-gcc-4.3.2.tgz和arm-none-linux-gnueabi-arm-2008q3-72-for-linux.tar.bz2壓縮檔
2) 解壓編譯器。使用tar zxvf arm-linux-gcc-4.3.2.tgz –c/和tar jxvf arm-none-linux-gnueabi-arm-2008q3-72-for-linux.tar.bz2 –c/
3)驗證交叉編譯器是否安裝成功 ls /usr/local/arm –l
4)安裝libncurses。apt –get install libncurses5 –dev
配置和編譯linux核心。編譯成功後會在Linux核心原始碼根目錄arch/arm/boot目錄產生一個zImage檔案。可以直接使用zImage安裝到開發板上。
原始碼的下載和編譯