內(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ī)會(huì)自動(dòng)調(diào)整到只占用 3G,甚至不到 3G 的內(nèi)存,這樣就有可能沒法編譯通過(guò)。后面 的單獨(dú)編譯 Android 也是需要 4G 以上內(nèi)存。 正確的分配內(nèi)存方法是,首先給虛擬機(jī)分配 4G 以上內(nèi)存,然后在 Windows 下關(guān)掉盡量 多的不必要的應(yīng)用,關(guān)掉盡量多應(yīng)用的后臺(tái)程序。 當(dāng)然,如果用戶的 PC 是 8G 或者 16G 內(nèi)存,隨意就成。 編譯中,如下圖所示。 編譯完成之后,在 result 目錄下,如下圖所示。 生成了 uboot 文件“u-boot-iTOP-4418.bin”; 生成了 kernel 文件“ boot.img”; 生成了 Android 文件系統(tǒng)“cache.img”“system.img”“userdata.img”。 如下圖所示,編譯完成之后,uboot 源碼,kernel,Android 以及中間文件(不包括源碼 壓縮包)一共占用 40G 空間,如果編譯不通過(guò),用命令“df -l”查看一下硬盤空間夠不夠。 5.3.2 Android 源碼單獨(dú)編譯 如果用戶想要單獨(dú)編譯 uboot,kernel,Android 中的任意一個(gè),可以打開 “build_android.sh”編譯腳本。 進(jìn)入到腳本最后一行,如下圖所示。 如上圖所示,紅色框中的腳本對(duì)應(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”。 單獨(dú)編譯內(nèi)核,則如下圖所示,將 build_uboot,build_android 注釋掉,再執(zhí)行編譯腳 本“build_android.sh”。 單獨(dú)編譯 Android,則如下圖所示,將 build_uboot,build_kernel,build_module 注 釋掉,再執(zhí)行編譯腳本“build_android.sh”。 |