基于迅為iTOP4412開發(fā)板 Android 源碼可以從光盤,網(wǎng)盤獲取穩(wěn)定版本,也可以從 GitHub 下載我們的開發(fā)版本。 GitHub 僅提供源碼下載,不提供二進(jìn)制下載,二進(jìn)制文件存放在光盤和網(wǎng)盤中。 6.3.2.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.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 倉庫下載地址,-b 參數(shù)指定倉庫中的下載 分支. 這里我下載的是 exynos4412_android4.4.4_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_KK4.4_git 目錄下面顯示 Android 系統(tǒng)源碼目錄。Android4.4 的源碼大概 20G,第一次下載過程比較漫長,請耐心等 待。代碼下載完成后,再次使用 repo sync 命令時,只更新升級代碼,速度就比較快了。 ![]() 每個文件夾目錄下面都會有一個或者多個 Git 倉庫,默認(rèn)這些倉庫是沒有分支的,我們需 要使用 repo start 命令創(chuàng)建分支,這里我們創(chuàng)建 master 分支,您也可以使用別的名字來定義 分支名稱,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 代碼放到同一級目錄下面: ![]() 上圖中 kernel 為 Android4.4 的內(nèi)核代碼, 與 Android4.4 源碼目錄 iTOP4412_KK4.4_git 在同一級。 kernel 目錄為我們下載的 Android4.4 的內(nèi)核代碼: ![]() 執(zhí)行 Android4.4 的編譯命令: #cd iTop4412_KK4.4_git # ./build_android.sh 注意: Android 代碼下載,編譯完成后,可以定期使用 repo sync 命令同步我們的 Git 倉庫到本地,這樣您的本地代碼就跟我們的倉庫保持同步更新了,編譯后就會形成最新的系統(tǒng) 鏡像。另外 Android4.4 代碼目前不分區(qū)精英底板與全能底板,代碼編譯形成的鏡像既可以在 精英版運行也可以在全能版運行,與 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 的測試程序; tools: 用于制作文件系統(tǒng)的工具及 ramdisk.img 二進(jìn)制文件,該文件專用于 Linux 系統(tǒng). Tools 目錄下面的 mkfs 腳本用于制作文件系統(tǒng)鏡像,把該腳本拷貝到 Linux_rootfs 目錄 下面,命令行執(zhí)行即可生成 system.img. 注:可以使用 git clone 命令下載 uboot, kernel,Linux 文件系統(tǒng),也可以通過網(wǎng)頁下載 源碼壓縮包。進(jìn)入到 GitHub 主頁,選擇要下載的倉庫: ![]() 單價左上角紅框部分,選擇好該倉庫的分支,然后單擊頁面右下角的 “Download ZIP” 即可通過瀏覽器下載壓縮包。 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 這兩個版本未放到 GitHub 平臺,目前通過光盤和網(wǎng)盤發(fā)布使用。 更多內(nèi)容關(guān)注:迅為電子 |