时效性说明:本文涉及的镜像地址仅适用于特定时期的版本。清华 TUNA 和中科大 USTC 的 AOSP 镜像地址已多次变更,请以各镜像站官方帮助页为准。

AOSP 源码体积庞大(约 70GB),通过 VPN 从 Google 官方源下载极其缓慢。国内镜像可以大幅提升下载速度。

镜像地址替换

https://android.googlesource.com/ 全部替换为清华 TUNA 镜像即可:

1
git://aosp.tuna.tsinghua.edu.cn/android/

如果已经下载过部分源码,修改 .repo/manifest.xml 中 aosp remote 的 fetch 地址:

1
2
3
4
5
6
7
<manifest>
   <remote  name="aosp"
-           fetch="https://android.googlesource.com"
+           fetch="git://aosp.tuna.tsinghua.edu.cn/android/"
            review="android-review.googlesource.com" />

   <remote  name="github"

下载 repo 工具

1
2
3
4
5
6
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
## 如果上述 URL 不可访问,可以用下面的:
## curl https://storage-googleapis.lug.ustc.edu.cn/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

建立工作目录并初始化

1
2
3
4
5
mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest
## 如果需要特定版本(例如 Android 5.1.1):
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-5.1.1_r3

如果无法连接 gerrit.googlesource.com,编辑 ~/bin/repo,修改 REPO_URL 一行:

1
REPO_URL = 'https://gerrit-googlesource.lug.ustc.edu.cn/git-repo'

同步源码

1
repo sync

之后只需重复执行此命令即可同步最新代码。

已有仓库切换镜像源

如果已从官方同步了 AOSP 仓库,想使用国内镜像,修改 .repo/manifests.git/config

将:

1
url = https://android.googlesource.com/platform/manifest

改为:

1
url = git://mirrors.ustc.edu.cn/aosp/platform/manifest

此方法也可用于从 TUNA 同步 CyanogenMod 代码。


参考资料