本篇內(nèi)容介紹了“android4.0代碼怎么編譯”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
霞山網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),霞山網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為霞山上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的霞山做網(wǎng)站的公司定做!
基于迅為4412開發(fā)板
6.3.1.1 repo 下載
android 代碼管理不同于 uboot,kernel,由于 Android 代碼比較龐大,我們把 Android
項(xiàng)目按照文件夾進(jìn)行項(xiàng)目拆分,android 源碼根目錄下面的每個(gè)子目錄都會(huì)劃分為一個(gè)倉(cāng)庫(kù)或
者多個(gè)倉(cāng)庫(kù)進(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 倉(cāng)庫(kù)下載完成后會(huì)看到該文件夾內(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 倉(cāng)庫(kù)下載地址,-b 參數(shù)指定倉(cāng)庫(kù)中的下載
分支.
這里我下載的是 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)系,如果下
載過程中長(zhǎng)時(shí)間沒有進(jìn)度顯示,可以 ctrl+c 終止下載,然后執(zhí)行 repo sync 命令重新開始,
下圖為源碼下載過程中的進(jìn)度顯示:
代碼下載完成后會(huì)在 /media/data/GitHub/ iTop4412_ICS_git 目錄下面顯示 Android
系統(tǒng)源碼目錄:
每個(gè)文件夾目錄下面都會(huì)有一個(gè)或者多個(gè) Git 倉(cāng)庫(kù),默認(rèn)這些倉(cāng)庫(kù)是沒有分支的,我們需要
使用 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 在同一級(jí),另外編譯 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 會(huì)編譯驅(qū)動(dòng)庫(kù)文件*.ko , Android4.0 會(huì)拷貝驅(qū)動(dòng)庫(kù)文件到 Android 的
目錄結(jié)構(gòu),否則 Android 的某些功能無法使用。
Android4.0 的執(zhí)行編譯命令:
#cd iTop4412_ICS_git
# ./build_android.sh
另外 Android 代碼下載,編譯完成后,可以定期使用 repo sync 命令同步我們的 Git 倉(cāng)
庫(kù)到本地,這樣您的本地代碼就跟我們的倉(cāng)庫(kù)保持同步更新了,編譯后就會(huì)形成最新的系統(tǒng)鏡
像.
我們的 Android4.0 代碼區(qū)分精英版和全能版,默認(rèn)我們下載的代碼編譯形成的鏡像可以
在精英板運(yùn)行,要編譯全能板版本,只需要修改一項(xiàng)配置即可:
文件路徑:iTop4412_ICS_git/device/samsung/smdk4x12/BoardConfig.mk
配置項(xiàng):BOARD_HAVE_MPU6050 ,該值配置成 false 代表編譯版本是精英板版本,如果
設(shè)置成 true,則會(huì)編譯全能板版本。
精英版配置:
全能版配置:
“android4.0代碼怎么編譯”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!