由于众所周知的原因,在国内是无法访问谷歌的服务器的,更不用说下载十几个G的Android版本代码了。幸好国内一些一流高校如清华大学和中科大都提供了Android AOSP代码的镜像服务,可以不用翻墙就可以下载Android代码。下面就以清华大学的源为例描述下如何不翻墙下载Android代码。
1、下载Repo
可以使用原先下载好的repo,如果没有现成的repo或者无法从google下载,可以通过git clone从清华的源上下载。
git clone git://aosp.tuna.tsinghua.edu.cn/android/git-repo.git/
命令执行完后,在当前目录会出现git-repo文件夹,其中就有我们需要的repo,将其拷贝到环境变量PATH定义的路径中。
2、修改Repo中得REPO_URL
将repo文件中的
REPO_URL = 'https://gerrit.googlesource.com/git-repo'
修改为:
REPO_URL = 'git://aosp.tuna.tsinghua.edu.cn/android/git-repo'
3、repo init
执行repo init -u 指令下载manifest
google指令:
repo init -u https://android.googlesource.com/platform/manifest
改为清华的源:
repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest同原先一样,如果需要按branch下载,加上-b branch_name即可。
4、同步
repo sync,清华大学的源上是有并发限制的,每个IP限制并发数为4 ,最大-j4,为了在下载出错的时候能够重新同步,可以通过以下脚本执行同步命令:
export PATH=~/bin:$PATHrepo sync -j2if [ "$?" != "0" ]; then sleep 30 repo sync -j2fi
这样就可以无需翻墙下载Android AOSP源代码了。
附1:对于已从Google下载的源码,可以通过修改代码目录中的 .repo/manifest.xml 文件,改从清华的源同步。(-表示删除,+表示增加)
<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"
附2:下载Cyanogenmode的代码
CM代码由两部分组成:CM自身代码和Android AOSP代码。CM自身代码无需翻墙即可同步,而AOSP代码需要翻墙下载。这部分代码同样可以从清华的源上下载下来。修改./repo/manifest.xml
<?xml version="1.0" encoding="UTF-8"?> <manifest> <remote name="aosp" - fetch="https://android.googlesource.com" + fetch="https://android.googlesource.com" review="android-review.googlesource.com" revision="refs/tags/android-5.1.1_r6" /> <remote name="github" fetch=".." review="review.cyanogenmod.org" /> <remote name="private" fetch="ssh:[email protected]" />
附3:网址
清华大学:http://mirrors.tuna.tsinghua.edu.cn
中科大:http://mirrors.ustc.edu.cn
版权声明:本文为博主原创文章,未经博主允许不得转载。