博客專欄

EEPW首頁 > 博客 > itop4412開發(fā)板Android4.4舊源碼編譯

itop4412開發(fā)板Android4.4舊源碼編譯

發(fā)布人:魔法城堡 時間:2019-06-24 來源:工程師 發(fā)布文章

注意:本小節(jié),介紹的舊源碼指的是“20170803”之前的源碼。

在網(wǎng)盤目錄中“iTOP4412 開發(fā)板資料匯總(不含光盤內(nèi)容)\iTOP-4412 開發(fā)板系統(tǒng)源

碼及鏡像(其他)\android_4.4.4 源碼以及對應(yīng) Kernel 源碼”中下載 Android4.4.4 的 文件

系統(tǒng),并通過 github 下載 uboot(Android4.4 的 uboot 源碼和 Android4.0.3 完全一樣)

和 kernel 的源碼(參考附錄六)。

5.4.2.1 uboot 的編譯

Android4.4.4 對應(yīng) uboot 的源碼,編譯器,參數(shù)配置,編譯腳本以及編譯參數(shù)和

Android4.0.3 的 uboot 全部一模一樣。

5.4.2.2 Linux 內(nèi)核的編譯

源碼目錄

網(wǎng)盤下載 Android4.4.4 對應(yīng)的源碼。在網(wǎng)盤“iTOP-4412 開發(fā)板系統(tǒng)源碼及鏡像(其

他)”→“android_4.4.4 源碼及鏡像”目錄下。

編譯器

Android4.4.4 對應(yīng)內(nèi)核的編譯器和 Android4.0.3 的內(nèi)核編譯器一模一樣。

參數(shù)配置

內(nèi)核的編譯是組合式配置文件,基本的配置文件名是“config_for_android_YY”,YY 表

示用下表所示的參數(shù)替代。



如上表所示,如果需要 Android4.4.4 支持 WiFi,則需要配置對應(yīng)的參數(shù)。

編譯生成內(nèi)核鏡像舉例

和 Android4.0.3 內(nèi)核一樣,如果需要編譯對應(yīng)核心板的內(nèi)核,首先使用 cp 命令將對應(yīng)

的配置文件覆蓋掉”.config”,然后在執(zhí)行編譯命令“make zImage”。

生成內(nèi)核鏡像的目錄也是“arch”-->“arm”-->“boot”。

5.4.2.3 Android4.4.4 的編譯

Android4.4.4 源碼在網(wǎng)盤“iTOP-4412 開發(fā)板系統(tǒng)源碼及鏡像(其他)\android_4.4.4

源碼以及對應(yīng) Kernel 源碼”目錄中下載,編譯器和參數(shù)配置和 Android4.0.3 一模一樣。

更新環(huán)境 javap

編譯 Android4.4.4,還缺少一個“javap”命令,使用命令:

“update-alternatives --install "/usr/bin/javap" "javap"

"/usr/lib/jvm/jdk1.6.0_43/bin/javap" 1”

更新一下,如下圖所示。


源碼下載

內(nèi)核的源碼也可以在 github 上下載,具體參考使用手冊附錄 6.2,附錄中有迅為

Android4.4 對應(yīng)內(nèi)核源碼 github 下載地址。

使用手冊附錄中有介紹 repo 下載 Android4.4 源碼的方法,但是從今年(2016)開始,

repo 經(jīng)常性的無法下載和使用。所以最好到迅為百度網(wǎng)盤中下載源碼(目錄參考使用手冊編

譯章節(jié)),選取日期最近的目錄下載即可。

網(wǎng)盤中源碼包一般是 gz 后綴、7z 或者 rar 后綴。gz 后綴可以直接在 Ubuntu 下解壓;

7z 和 rar 后綴都是需要先在 windows 下解壓出 gz 后綴壓縮包,然后再在 Ubuntu 下解壓。

內(nèi)核以及 Android 源碼路徑

編譯 Android4.4 源碼的時候,一定要注意內(nèi)核源碼的目錄。在和 Android 源碼目錄

“ iTop4412_KK4.4_git ”的同一級目錄下,新建一個 kernel 目錄,然后將內(nèi)核源碼放到

kernel 目錄下,要使用迅為默認(rèn)的文件名“iTop4412_Kernel_3.0”。

例如:在 Android4.4 的源碼目錄下,使用命令

“l(fā)s ../kernel/iTop4412_Kernel_3.0/”,如下圖所示,內(nèi)核的目錄才是正確的。


另外在編譯 Android4.4 之前,必須成功編譯 Android4.4 對應(yīng)的內(nèi)核。

然后進入 Android4.4.4 源碼解壓后得到文件夾“iTop4412_KK4.4”中,使用命令

“./build_android.sh”,運行一鍵編譯腳本,開始編譯 Android4.4.4。注意:編譯

Android4.4.4 必須保證給 Ubuntu 系統(tǒng)提供 3G 以上內(nèi)存。這里“提供 3G 以上內(nèi)存”的意

思,不僅僅是指在 VMware Workstations 虛擬機中設(shè)置分配 3G 內(nèi)存。例如,用戶在編譯的

時候,PC 機的內(nèi)存一共是 4G,在虛擬機中設(shè)置分配 3G 內(nèi)存,但是在 Windows 系統(tǒng)下,開

著 QQ,殺毒軟件,音樂播放器,瀏覽器等等,這樣在 Windows 下占用的內(nèi)存就快 2G 了,

那么虛擬機會自動調(diào)整到只占用 2G,甚至不到 2G 的內(nèi)存,這樣是沒法編譯通過的。

正確的分配內(nèi)存方法是,首先給虛擬機分配 3G 以上內(nèi)存,然后在 Windows 下關(guān)掉盡量

多的不必要的應(yīng)用,關(guān)掉盡量多應(yīng)用的后臺程序。

當(dāng)然,如果用戶的 PC 是 8G 或者 16G 內(nèi)存,隨意就成。


如下圖所示,編譯完成。在文件夾

“iTop4412_KK4.4/out/target/product/smdk4x12”中,生成鏡像“system.img”和

“ramdisk-uboot.img”。

這里還需要注意的是,Android4.4.4 源碼需要占用較大的空間,用戶需要確認(rèn)有足夠的

空間才能夠成功編譯。Android4.0.3 編譯完成后總共大約占用 18G 的空間,Android4.4.4 編

譯完成后總共占用大約 36G 的空間,如下圖。


用戶完全按照步驟編譯錯誤,可以使用“df -l”查看一下盤符剩余空間還剩下多少,如下

圖所示,如果是已使用 100%,則是空間不足。

*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞:

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉