基于迅為iTOP4412開(kāi)發(fā)板 Android 源碼可以從光盤(pán),網(wǎng)盤(pán)獲取穩(wěn)定版本,也可以從 GitHub 下載我們的開(kāi)發(fā)版本。 GitHub 僅提供源碼下載,不提供二進(jìn)制下載,二進(jìn)制文件存放在光盤(pán)和網(wǎng)盤(pán)中。 6.3.2.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.2.2 Android4.4 代碼下載 假設(shè)我們的 Android4.4 代碼存放在 /media/data/GitHub/iTop4412_KK4.4_git 目 錄: # cd /media/data/GitHub/iTop4412_KK4.4_git #../git-repo/repo init –u https://github.com/TOPEET-Develop/android.git -b exynos4412_android4.4.4_master 上一條命令字符“-b”后有空格 ![]() 注: repo init 命令中–u 參數(shù)指定 android 倉(cāng)庫(kù)下載地址,-b 參數(shù)指定倉(cāng)庫(kù)中的下載 分支. 這里我下載的是 exynos4412_android4.4.4_master 分支,該命令執(zhí)行過(guò)程中需要輸入 相關(guān)的信息,如下圖所示: ![]() Your Name 輸入 root Your Email: 直接回車(chē)即可,然后在輸入 y, 回車(chē)?yán)^續(xù): ![]() #../git-repo/repo sync 注: repo sync 開(kāi)始下載 Android 代碼,下載過(guò)程與網(wǎng)絡(luò)環(huán)境有一定的關(guān)系,如果下 載過(guò)程中長(zhǎng)時(shí)間沒(méi)有進(jìn)度顯示,可以 ctrl+c 終止下載,然后執(zhí)行 repo sync 命令重新開(kāi)始, 下圖為源碼下載過(guò)程中的進(jìn)度顯示: ![]() 代碼下載完成后會(huì)在 /media/data/GitHub/ iTop4412_KK4.4_git 目錄下面顯示 Android 系統(tǒng)源碼目錄。Android4.4 的源碼大概 20G,第一次下載過(guò)程比較漫長(zhǎng),請(qǐng)耐心等 待。代碼下載完成后,再次使用 repo sync 命令時(shí),只更新升級(jí)代碼,速度就比較快了。 ![]() 每個(gè)文件夾目錄下面都會(huì)有一個(gè)或者多個(gè) Git 倉(cāng)庫(kù),默認(rèn)這些倉(cāng)庫(kù)是沒(méi)有分支的,我們需 要使用 repo start 命令創(chuàng)建分支,這里我們創(chuàng)建 master 分支,您也可以使用別的名字來(lái)定義 分支名稱,repo branch 命令可以查看創(chuàng)建的分支: #../git-repo/repo start master --all #../git-repo/repo branch 6.3.2.3 Android4.4 源碼編譯 Android 代碼下載完成后就可以進(jìn)行編譯了,Android 源碼需要 kernel 頭文件支持, 所以我們需要把 Android 代碼與 kernel 代碼放到同一級(jí)目錄下面: ![]() 上圖中 kernel 為 Android4.4 的內(nèi)核代碼, 與 Android4.4 源碼目錄 iTOP4412_KK4.4_git 在同一級(jí)。 kernel 目錄為我們下載的 Android4.4 的內(nèi)核代碼: ![]() 執(zhí)行 Android4.4 的編譯命令: #cd iTop4412_KK4.4_git # ./build_android.sh 注意: Android 代碼下載,編譯完成后,可以定期使用 repo sync 命令同步我們的 Git 倉(cāng)庫(kù)到本地,這樣您的本地代碼就跟我們的倉(cāng)庫(kù)保持同步更新了,編譯后就會(huì)形成最新的系統(tǒng) 鏡像。另外 Android4.4 代碼目前不分區(qū)精英底板與全能底板,代碼編譯形成的鏡像既可以在 精英版運(yùn)行也可以在全能版運(yùn)行,與 Android4.0 有所不同。 6.3.3 Linux Qt 文件系統(tǒng)下載及制作 Git 命令下載: # git clone https://github.com/TOPEET-Develop/linux_rootfs.git -b rootfs_qt_master 上一條命令字符“-b”后有空格 下載完成后可以看到如下的目錄結(jié)構(gòu): ![]() root: Linux 的根文件系統(tǒng); test: Linux 的測(cè)試程序; tools: 用于制作文件系統(tǒng)的工具及 ramdisk.img 二進(jìn)制文件,該文件專(zhuān)用于 Linux 系統(tǒng). Tools 目錄下面的 mkfs 腳本用于制作文件系統(tǒng)鏡像,把該腳本拷貝到 Linux_rootfs 目錄 下面,命令行執(zhí)行即可生成 system.img. 注:可以使用 git clone 命令下載 uboot, kernel,Linux 文件系統(tǒng),也可以通過(guò)網(wǎng)頁(yè)下載 源碼壓縮包。進(jìn)入到 GitHub 主頁(yè),選擇要下載的倉(cāng)庫(kù): ![]() 單價(jià)左上角紅框部分,選擇好該倉(cāng)庫(kù)的分支,然后單擊頁(yè)面右下角的 “Download ZIP” 即可通過(guò)瀏覽器下載壓縮包。 6.3.4 Ubuntu 文件系統(tǒng) Ubuntu 文件系統(tǒng)分為: LCD 顯示版本:iTOP4412_ubuntu_12.04_for_LCD_20141230.tar.gz HDMI 顯示版本:iTOP4412_ubuntu_12.04_for_HDMI_20141230.tar.gz 這兩個(gè)版本未放到 GitHub 平臺(tái),目前通過(guò)光盤(pán)和網(wǎng)盤(pán)發(fā)布使用。 更多內(nèi)容關(guān)注:迅為電子 |