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