博客專欄

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

        itop4412開發板Android4.4舊源碼編譯

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

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

        在網盤目錄中“iTOP4412 開發板資料匯總(不含光盤內容)\iTOP-4412 開發板系統源

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

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

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

        5.4.2.1 uboot 的編譯

        Android4.4.4 對應 uboot 的源碼,編譯器,參數配置,編譯腳本以及編譯參數和

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

        5.4.2.2 Linux 內核的編譯

        源碼目錄

        網盤下載 Android4.4.4 對應的源碼。在網盤“iTOP-4412 開發板系統源碼及鏡像(其

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

        編譯器

        Android4.4.4 對應內核的編譯器和 Android4.0.3 的內核編譯器一模一樣。

        參數配置

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

        示用下表所示的參數替代。



        如上表所示,如果需要 Android4.4.4 支持 WiFi,則需要配置對應的參數。

        編譯生成內核鏡像舉例

        和 Android4.0.3 內核一樣,如果需要編譯對應核心板的內核,首先使用 cp 命令將對應

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

        生成內核鏡像的目錄也是“arch”-->“arm”-->“boot”。

        5.4.2.3 Android4.4.4 的編譯

        Android4.4.4 源碼在網盤“iTOP-4412 開發板系統源碼及鏡像(其他)\android_4.4.4

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

        更新環境 javap

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

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

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

        更新一下,如下圖所示。


        源碼下載

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

        Android4.4 對應內核源碼 github 下載地址。

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

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

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

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

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

        內核以及 Android 源碼路徑

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

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

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

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

        “ls ../kernel/iTop4412_Kernel_3.0/”,如下圖所示,內核的目錄才是正確的。


        另外在編譯 Android4.4 之前,必須成功編譯 Android4.4 對應的內核。

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

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

        Android4.4.4 必須保證給 Ubuntu 系統提供 3G 以上內存。這里“提供 3G 以上內存”的意

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

        時候,PC 機的內存一共是 4G,在虛擬機中設置分配 3G 內存,但是在 Windows 系統下,開

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

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

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

        多的不必要的應用,關掉盡量多應用的后臺程序。

        當然,如果用戶的 PC 是 8G 或者 16G 內存,隨意就成。


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

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

        “ramdisk-uboot.img”。

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

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

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


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

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

        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞:

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 东乌| 濉溪县| 筠连县| 中卫市| 安达市| 广河县| 临桂县| 虹口区| 改则县| 江西省| 高阳县| 来宾市| 晋宁县| 龙里县| 大方县| 云南省| 盐津县| 惠东县| 崇义县| 开化县| 大石桥市| 贵德县| 绥阳县| 孝感市| 金坛市| 河间市| 开阳县| 绥棱县| 天祝| 辰溪县| 平乡县| 水城县| 庐江县| 白河县| 上栗县| 松滋市| 波密县| 紫阳县| 阿巴嘎旗| 石狮市| 吴江市|