本篇內(nèi)容主要講解“Android4.4源碼編譯的知識點有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Android4.4源碼編譯的知識點有哪些”吧!
我們提供的服務(wù)有:網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、新賓ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學管理、有技術(shù)的新賓網(wǎng)站制作公司
5.4.1.1 uboot 的編譯
Android4.4.4 對應(yīng) uboot 的源碼,編譯器,參數(shù)配置,編譯腳本以及編譯參數(shù)和
Android4.0.3 的 uboot 全部一模一樣。
5.4.1.2 Linux 內(nèi)核的編譯
源碼目錄
網(wǎng)盤下載 Android4.4.4 對應(yīng)的源碼。在網(wǎng)盤“iTOP-4412 開發(fā)板系統(tǒng)源碼及鏡像(其
他)”→“android_4.4.4 源碼及鏡像”目錄下,在最新日期的文件夾下的“iTop4412-
android4.4-kernel_xxxx.tar.gz”壓縮包,xxxx 表示日期。
編譯器
Android4.4.4 對應(yīng)內(nèi)核的編譯器和 Android4.0.3 的內(nèi)核編譯器一模一樣。
參數(shù)配置
內(nèi)核的編譯是組合式配置文件,基本的配置文件名是“config_for_android_XX_YY”,
XX,YY 表示用下表所示的參數(shù)替代。POP 和 SCP 分別對應(yīng)核心板的 POP 和 SCP;elite 和
super 分別對應(yīng)精英版和全能版;no_wifi 參數(shù)僅用于精英版,表示不支持 WiFi 模塊(如果沒
有 WiFI 模塊,那么就需要配置為 no_wifi)。
如上表所示,如果需要 Android4.4.4 支持 WiFi,則需要配置對應(yīng)的參數(shù),不支持 WiFi
也需要進行對應(yīng)配置。
編譯生成內(nèi)核鏡像舉例
和 Android4.0.3 內(nèi)核一樣,如果需要編譯對應(yīng)核心板的內(nèi)核,首先使用 cp 命令將對應(yīng)
的配置文件覆蓋掉“.config”。
如果用戶要使用 5 寸屏幕,先要參考用戶手冊“5.5 支持 5 寸屏的內(nèi)核補丁文件”,給內(nèi)
核打補丁,然后使用命令“vim .config”,在文件中搜索關(guān)鍵詞
“CONFIG_TOUCHSCREEN_GT9XX=y”,在“CONFIG_TOUCHSCREEN_GT9XX=y”之
后添加一行“CONFIG_TOPEET_LCD5X0=y”,添加完成之后,如下圖所示。如果用戶不使
用 5 寸屏幕,則可以跳過這一步。
最后執(zhí)行編譯命令“make zImage”。
生成內(nèi)核鏡像的目錄也是“arch”-->“arm”-->“boot”。
例如:開發(fā)板是精英版,POP 核心板,需要支持 WiFi 模塊,那么缺省文件就需要配置為
“config_for_android_pop_elite”。
開發(fā)板是精英版,POP 核心板,不支持 WiFi 模塊,那么缺省文件就需要配置為
“config_for_android_pop_no_wifi”。
5.4.1.3 Android4.4.4 的編譯
更新環(huán)境 javap
編譯 Android4.4.4,還缺少一個“javap”命令,使用命令:
“update-alternatives --install "/usr/bin/javap">
"/usr/lib/jvm/jdk1.6.0_43/bin/javap" 1”
更新一下,如下圖所示。
內(nèi)核以及 Android 源碼路徑
編譯 Android4.4 源碼的時候,一定要注意內(nèi)核源碼的目錄。在和 Android 源碼目錄
“ iTop4412_KK4.4_git ”的同一級目錄下,將內(nèi)核源碼解壓。
例如,如下圖所示,作者將內(nèi)核源碼和 Android4.4 源碼壓縮包放到“/home/iTOP-
4412-Android4.4”目錄下,解壓“iTop4412_KK4.4_git_xxx.tar.gz”和“iTop4412-
android4.4-kernel_xxx.tar.gz”,Android 源碼解壓之后得到“iTop4412_KK4.4_git”和
“kernel”目錄?!癷Top4412_KK4.4_git”目錄下就是 Android 源碼,
“kernel/iTop4412_Kernel_3.0”目錄下就是內(nèi)核源碼。
另外在編譯 Android4.4 之前,必須成功編譯 Android4.4 對應(yīng)的內(nèi)核。
然后進入 Android4.4.4 源碼解壓后得到文件夾“iTop4412_KK4.4_git”中,使用命令
“./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)用的后臺程序。
當然,如果用戶的 PC 是 8G 或者 16G 內(nèi)存,隨意就成。
編譯完成之后,在文件夾“iTop4412_KK4.4_git/out/target/product/smdk4x12”中,
生成鏡像“system.img”和“ramdisk-uboot.img”。
這里還需要注意的是,Android4.4.4 源碼需要占用較大的空間,用戶需要確認有足夠的
空間才能夠成功編譯。Android4.0.3 編譯完成后總共大約占用 18G 的空間,Android4.4.4 編
譯完成后總共占用大約 36G 的空間。
用戶完全按照步驟編譯錯誤,可以使用“df -l”查看一下盤符剩余空間還剩下多少,如果
是已使用 100%,則是空間不足。
到此,相信大家對“Android4.4源碼編譯的知識點有哪些”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!