這裏介紹通過中國科學技術大學 Linux 用戶協會的鏡像網站來下載AOSP
網址連接:https://lug.ustc.edu.cn/wiki/mirrors/help/aosp這上面有詳細相關說明。
第一步,下載repo工具,執行repo init命令時,設計者出於維護和使用體驗的考慮,每次都要去服務器端同步最新版本的repo工具,這時大家經常會遇到報錯:
fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle
fatal: error [Errno 110] Connection timed out
正確的做法是,通過清華大學鏡像源clone repo代碼
git clone https://gerrit-google.tuna.tsinghua.edu.cn/git-repo
然後將git-repo目錄下的repo加入到環境變量
vim ~/.profile
最後一行加入
export PATH="~/git-repo:$PATH"
保存,然後重載環境變量
. ~/.profile
這個使用repo init 就不會出錯了。
第二步,同步代碼
在家目錄下建立一個工作目錄(名字任意)目錄,用來放置AOSP代碼
mkdir android
cd android
然後執行repo init初始化倉庫,這裏得到的是AOSP的主線版本,主線版本一般處於開發中,不穩定。通常,我們應下載特定的 Android 版本支線(下面有操作說明),
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest
## 如果提示無法連接到 gerrit.googlesource.com,可以編輯 ~/bin/repo,把 REPO_URL 一行替換成下面的:
## REPO_URL = 'https://gerrit-googlesource.proxy.ustclug.org/git-repo
如果需要某個特定的 Android 版本(Android 版本列表):
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-4.4.2_r1
同步源碼樹(以後只需執行這條命令來同步):
# 注意:中科大Git 服務器每 IP 限制 5 個併發連接。repo sync 命令默認使用 # 4 個併發連接,請勿使用 -j 參數增加併發連接數。
repo sync