標(biāo)題: iTOP-4412開發(fā)板android4.0代碼下載和編譯 [打印本頁]

作者: 張宇yli    時間: 2020-4-14 11:27
標(biāo)題: iTOP-4412開發(fā)板android4.0代碼下載和編譯
Android4.0 源碼可以從光盤,網(wǎng)盤獲取穩(wěn)定版本,也可以從 GitHub 下載我們的開發(fā)版
本。GitHub 僅提供源碼下載,不提供二進(jìn)制下載,二進(jìn)制文件存放在光盤和網(wǎng)盤中。
基于迅為4412開發(fā)板
6.3.1.1 repo 下載
android 代碼管理不同于 uboot,kernel,由于 Android 代碼比較龐大,我們把 Android
項目按照文件夾進(jìn)行項目拆分,android 源碼根目錄下面的每個子目錄都會劃分為一個倉庫或
者多個倉庫進(jìn)行版本管理,Android 的代碼下載需要使用 repo 工具,repo 工具為 Git 的封
裝,底層是使用 Git 命令進(jìn)行下載的。
假設(shè)將要下載的 repo 工具存放于 /media/data/gitHub 目錄:
#cd /media/data/GitHub/
#git clone git://aosp.tuna.tsinghua.edu.cn/android/git-repo.git/
git-repo 倉庫下載完成后會看到該文件夾內(nèi)有 repo 腳本文件:

6.3.1.2 Android4.0 代碼下載
假設(shè)我們的 Android4.0 代碼存放在 /media/data/GitHub/iTop4412_ICS_git 目錄:
# cd /media/data/GitHub/iTop4412_ICS_git
#../git-repo/repo init –u https://github.com/TOPEET-Develop/android.git -b
exynos4412_android4.0.3_master
注意上一條命令中,換行字符“-b”之后有空格。

注: repo init 命令中–u 參數(shù)指定 android 倉庫下載地址,-b 參數(shù)指定倉庫中的下載
分支.
這里我下載的是 exynos4412_android4.0.3_master 分支,該命令執(zhí)行過程中需要輸入
相關(guān)的信息,如下圖所示:

Your Name 輸入 root
Your Email: 直接回車即可,然后在輸入 y, 回車?yán)^續(xù):

#../git-repo/repo sync
注: repo sync 開始下載 Android 代碼,下載過程與網(wǎng)絡(luò)環(huán)境有一定的關(guān)系,如果下
載過程中長時間沒有進(jìn)度顯示,可以 ctrl+c 終止下載,然后執(zhí)行 repo sync 命令重新開始,
下圖為源碼下載過程中的進(jìn)度顯示:

代碼下載完成后會在 /media/data/GitHub/ iTop4412_ICS_git 目錄下面顯示 Android
系統(tǒng)源碼目錄:

每個文件夾目錄下面都會有一個或者多個 Git 倉庫,默認(rèn)這些倉庫是沒有分支的,我們需要
使用 repo star 命令創(chuàng)建分支,這里我們創(chuàng)建 master 分支,您也可以使用別的名字來定義分支
名稱,repo branch 命令可以查看創(chuàng)建的分支:
#../git-repo/repo start master --all
#../git-repo/repo branch

6.3.1.3 Android4.0 源碼編譯
Android 代碼下載完成后就可以進(jìn)行編譯了,Android 源碼編譯需要 kernel 支持,所
以我們需要把 Android 代碼與 kernel 代碼放到同一目錄下面:

注: 上圖中 iTOP4412_Kernel_3.0 為 Android 的內(nèi)核代碼, 與 Android4.0 源碼目錄
iTOP4412_ICS_git 在同一級,另外編譯 Android4.0 之前需要編譯內(nèi)核代碼,在內(nèi)核代碼目
錄執(zhí)行:
# cp config_for_android_XX_YY .config
# make zImage
# make modules
config_for_android_XX_YY 中的 XX 指核心板類型:scp,pop,pop2G, YY 指的是底板
類型:精英版 elite,或者全能版 supper.
make modules 會編譯驅(qū)動庫文件*.ko , Android4.0 會拷貝驅(qū)動庫文件到 Android 的
目錄結(jié)構(gòu),否則 Android 的某些功能無法使用。
Android4.0 的執(zhí)行編譯命令:
#cd iTop4412_ICS_git
# ./build_android.sh
另外 Android 代碼下載,編譯完成后,可以定期使用 repo sync 命令同步我們的 Git 倉
庫到本地,這樣您的本地代碼就跟我們的倉庫保持同步更新了,編譯后就會形成最新的系統(tǒng)鏡
像.
我們的 Android4.0 代碼區(qū)分精英版和全能版,默認(rèn)我們下載的代碼編譯形成的鏡像可以
在精英板運行,要編譯全能板版本,只需要修改一項配置即可:
文件路徑:iTop4412_ICS_git/device/samsung/smdk4x12/BoardConfig.mk
配置項:BOARD_HAVE_MPU6050 ,該值配置成 false 代表編譯版本是精英板版本,如果
設(shè)置成 true,則會編譯全能板版本。
精英版配置:

全能版配置:

完成,更多內(nèi)容關(guān)注:迅為電子





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1