內(nèi)核缺省文件配置之后,Android 目錄,運(yùn)行一鍵編譯腳本“build_android.sh”,如下圖所示。
注意:本篇文章基于iTOP-4418開發(fā)板,編譯 Android 必須保證給 Ubuntu 系統(tǒng)提供 4G 以上內(nèi)存。
這里“提供 4G 以上內(nèi)存”的意思,不僅僅是指在 VMware Workstations 虛擬機(jī)中設(shè)置分配 4G 內(nèi)存。
例如,用戶在編譯的時(shí)候,PC 機(jī)的內(nèi)存一共是 6G,在虛擬機(jī)中設(shè)置分配 4G 內(nèi)存,但是在 Windows
系統(tǒng)下,開著 QQ,殺毒軟件,音樂播放器,瀏覽器等等,這樣在 Windows 下占用的內(nèi)存就快 2G
了,那么虛擬機(jī)會自動調(diào)整到只占用 3G,甚至不到 3G 的內(nèi)存,這樣就有可能沒法編譯通過。后面
的單獨(dú)編譯 Android 也是需要 4G 以上內(nèi)存。
正確的分配內(nèi)存方法是,首先給虛擬機(jī)分配 4G 以上內(nèi)存,然后在 Windows 下關(guān)掉盡量
多的不必要的應(yīng)用,關(guān)掉盡量多應(yīng)用的后臺程序。
當(dāng)然,如果用戶的 PC 是 8G 或者 16G 內(nèi)存,隨意就成。
1.jpg (14.55 KB, 下載次數(shù): 36)
下載附件
2019-12-18 10:27 上傳
編譯中,如下圖所示。
2.jpg (37.02 KB, 下載次數(shù): 49)
下載附件
2019-12-18 10:27 上傳
編譯完成之后,在 result 目錄下,如下圖所示。
生成了 uboot 文件“u-boot-iTOP-4418.bin”;
生成了 kernel 文件“ boot.img”;
生成了 Android 文件系統(tǒng)“cache.img”“system.img”“userdata.img”。
3.jpg (15.24 KB, 下載次數(shù): 40)
下載附件
2019-12-18 10:27 上傳
如下圖所示,編譯完成之后,uboot 源碼,kernel,Android 以及中間文件(不包括源碼
壓縮包)一共占用 40G 空間,如果編譯不通過,用命令“df -l”查看一下硬盤空間夠不夠。
4.jpg (8.2 KB, 下載次數(shù): 46)
下載附件
2019-12-18 10:27 上傳
5.3.2 Android 源碼單獨(dú)編譯
如果用戶想要單獨(dú)編譯 uboot,kernel,Android 中的任意一個(gè),可以打開
“build_android.sh”編譯腳本。
進(jìn)入到腳本最后一行,如下圖所示。
5.jpg (13.07 KB, 下載次數(shù): 43)
下載附件
2019-12-18 10:27 上傳
如上圖所示,紅色框中的腳本對應(yīng)著編譯命令。
腳本代碼 build_uboot
——編譯 uboot 鏡像
腳本代碼 build_kernel
——編譯內(nèi)核鏡像
腳本代碼 build_module
——編譯內(nèi)核的 KO 文件
腳本代碼 build_android
——編譯 Android 鏡像
腳本代碼 post_process 和 build_dist
——將編譯好的鏡像拷貝到 result 目錄
單獨(dú)編譯 uboot,則如下圖所示,將編譯 build_kernel,build_module,build_android
注釋掉,再執(zhí)行編譯腳本“build_android.sh”。
6.jpg (10.82 KB, 下載次數(shù): 36)
下載附件
2019-12-18 10:27 上傳
單獨(dú)編譯內(nèi)核,則如下圖所示,將 build_uboot,build_android 注釋掉,再執(zhí)行編譯腳
本“build_android.sh”。
7.jpg (11.62 KB, 下載次數(shù): 36)
下載附件
2019-12-18 10:27 上傳
單獨(dú)編譯 Android,則如下圖所示,將 build_uboot,build_kernel,build_module 注
釋掉,再執(zhí)行編譯腳本“build_android.sh”。
8.jpg (11.74 KB, 下載次數(shù): 31)
下載附件
2019-12-18 10:27 上傳
|