注意:本小節,介紹的舊源碼指的是「20170803」以前的源碼。java
在網盤目錄中「iTOP4412 開發板資料彙總(不含光盤內容)\iTOP-4412 開發板系統源android
碼及鏡像(其餘)\android_4.4.4 源碼以及對應 Kernel 源碼」中下載 Android4.4.4 的 文件git
系統,並經過 github 下載 uboot(Android4.4 的 uboot 源碼和 Android4.0.3 徹底同樣)github
和 kernel 的源碼(參考附錄六)。windows
5.4.2.1 uboot 的編譯瀏覽器
Android4.4.4 對應 uboot 的源碼,編譯器,參數配置,編譯腳本以及編譯參數和jvm
Android4.0.3 的 uboot 所有如出一轍。ui
5.4.2.2 Linux 內核的編譯blog
源碼目錄內存
網盤下載 Android4.4.4 對應的源碼。在網盤「iTOP-4412 開發板系統源碼及鏡像(其
他)」→「android_4.4.4 源碼及鏡像」目錄下。
編譯器
Android4.4.4 對應內核的編譯器和 Android4.0.3 的內核編譯器如出一轍。
參數配置
內核的編譯是組合式配置文件,基本的配置文件名是「config_for_android_YY」,YY 表
示用下表所示的參數替代。
如上表所示,若是須要 Android4.4.4 支持 WiFi,則須要配置對應的參數。
編譯生成內核鏡像舉例
和 Android4.0.3 內核同樣,若是須要編譯對應核心板的內核,首先使用 cp 命令將對應
的配置文件覆蓋掉」.config」,而後在執行編譯命令「make zImage」。
生成內核鏡像的目錄也是「arch」-->「arm」-->「boot」。
5.4.2.3 Android4.4.4 的編譯
Android4.4.4 源碼在網盤「iTOP-4412 開發板系統源碼及鏡像(其餘)\android_4.4.4
源碼以及對應 Kernel 源碼」目錄中下載,編譯器和參數配置和 Android4.0.3 如出一轍。
更新環境 javap
編譯 Android4.4.4,還缺乏一個「javap」命令,使用命令:
「update-alternatives --install "/usr/bin/javap" "javap"
"/usr/lib/jvm/jdk1.6.0_43/bin/javap" 1」
更新一下,以下圖所示。
源碼下載
內核的源碼也能夠在 github 上下載,具體參考使用手冊附錄 6.2,附錄中有迅爲
Android4.4 對應內核源碼 github 下載地址。
使用手冊附錄中有介紹 repo 下載 Android4.4 源碼的方法,可是從今年(2016)開始,
repo 常常性的沒法下載和使用。因此最好到迅爲百度網盤中下載源碼(目錄參考使用手冊編
譯章節),選取日期最近的目錄下載便可。
網盤中源碼包通常是 gz 後綴、7z 或者 rar 後綴。gz 後綴能夠直接在 Ubuntu 下解壓;
7z 和 rar 後綴都是須要先在 windows 下解壓出 gz 後綴壓縮包,而後再在 Ubuntu 下解壓。
內核以及 Android 源碼路徑
編譯 Android4.4 源碼的時候,必定要注意內核源碼的目錄。在和 Android 源碼目錄
「 iTop4412_KK4.4_git 」的同一級目錄下,新建一個 kernel 目錄,而後將內核源碼放到
kernel 目錄下,要使用迅爲默認的文件名「iTop4412_Kernel_3.0」。
例如:在 Android4.4 的源碼目錄下,使用命令
「ls ../kernel/iTop4412_Kernel_3.0/」,以下圖所示,內核的目錄纔是正確的。
另外在編譯 Android4.4 以前,必須成功編譯 Android4.4 對應的內核。
而後進入 Android4.4.4 源碼解壓後獲得文件夾「iTop4412_KK4.4」中,使用命令
「./build_android.sh」,運行一鍵編譯腳本,開始編譯 Android4.4.4。注意:編譯
Android4.4.4 必須保證給 Ubuntu 系統提供 3G 以上內存。這裏「提供 3G 以上內存」的意
思,不單單是指在 VMware Workstations 虛擬機中設置分配 3G 內存。例如,用戶在編譯的
時候,PC 機的內存一共是 4G,在虛擬機中設置分配 3G 內存,可是在 Windows 系統下,開
着 QQ,殺毒軟件,音樂播放器,瀏覽器等等,這樣在 Windows 下佔用的內存就快 2G 了,
那麼虛擬機會自動調整到只佔用 2G,甚至不到 2G 的內存,這樣是無法編譯經過的。
正確的分配內存方法是,首先給虛擬機分配 3G 以上內存,而後在 Windows 下關掉儘可能
多的沒必要要的應用,關掉儘可能多應用的後臺程序。
固然,若是用戶的 PC 是 8G 或者 16G 內存,隨意就成。
以下圖所示,編譯完成。在文件夾
「iTop4412_KK4.4/out/target/product/smdk4x12」中,生成鏡像「system.img」和
「ramdisk-uboot.img」。
這裏還須要注意的是,Android4.4.4 源碼須要佔用較大的空間,用戶須要確認有足夠的
空間纔可以成功編譯。Android4.0.3 編譯完成後總共大約佔用 18G 的空間,Android4.4.4 編
譯完成後總共佔用大約 36G 的空間,以下圖。
用戶徹底按照步驟編譯錯誤,可使用「df -l」查看一下盤符剩餘空間還剩下多少,以下
圖所示,若是是已使用 100%,則是空間不足。