首頁 > 軟體

AOSP原始碼下載及問題小結

2022-03-16 19:00:23

一、說明

由於一些原因,利用谷歌的資源下載Android原始碼速度很慢,我們可以用清華源裡面的資源進行下載。
清華源AOSP設定下載地址詳解:Android 映象使用幫助

二、原始碼下載範例

由於清華源中給出很清晰的設定下載方法,這兒只做幾條總結:

1. 谷歌鏡象不可用,採用清華源鏡象

https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/

2. 設定repo

mkdir ~/bin
PATH=~/bin:$PATH
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
chmod a+x ~/bin/repo

注意:repo最好加到系統的環境變數中。

3. repo更新

repo的執行過程中會嘗試存取官方的git源更新自己,如果想使用tuna的映象源進行更新,可以將如下內容複製到你的~/.bashrc裡

export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'

並重啟終端模擬器。

4. 下載初始化包

wget -c https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar

5. 解壓資源包

tar xf aosp-latest.tar

6. 更新指定版本

比如指定下載android-6.0.1_r62,執行以下命令:

repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-6.0.1_r62
repo sync

如果遇到"SyntaxError: invalid syntax"等錯誤,如下所示:

File "/home/jerry/workspace/aosp/.repo/repo/main.py", line 79
    file=sys.stderr)
        ^
SyntaxError: invalid syntax

應該是python語法導致的,解決方法如下:

python3 ~/bin/repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-6.0.1_r62
python3 ~/bin/repo sync

7. 快捷指令碼

由於網路及限制網路並行等原因,repo sync常常更新失敗,可以用指令碼來更新,指令碼範例:

repo sync -j4
	while [ $? = 1 ]; do
	        echo "==== sync failed, re-sync again ===="
	        sleep 3
	        repo sync -j4
	done

三、注意

1. 遇到同步失敗的問題

比如OMA-DM這個app同步失敗,我們可以修改AOSP目錄下的.repo/manifests/default.xml來遮蔽掉這個應用的同步,如下圖:

2. 遇到python語法問題

參照如下語法根據實際情況執行repo命令,注意repo要寫上絕對路徑,否則會報錯。

python3 ~/bin/repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-6.0.1_r62
python3 ~/bin/repo sync

到此這篇關於AOSP原始碼下載的文章就介紹到這了,更多相關AOSP原始碼下載內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com