转:http://blog.youkuaiyun.com/sunao2002002/article/details/47869281
由于众所周知的原因,在国内是无法访问谷歌的服务器的,更不用说下载十几个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定义的路径中,并给其加上可执行权限。
- mkdir -p ~/bin
- export PATH=~/bin/:$PATH
- cd git-repo
- cp repo ~/bin/
- chmod a+x ~/bin/repo
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即可,如:
- repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-5.1.1_r9
4、同步
repo sync,清华大学的源上是有并发限制的,每个IP限制并发数为4 ,最大-j4,为了在下载出错的时候能够重新同步,可以通过以下脚本执行同步命令:
- export PATH=~/bin:$PATH
- repo sync -j2
- if [ "$?" != "0" ]; then
- sleep 30
- repo sync -j2
- fi
这样就可以无需翻墙下载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="git://aosp.tuna.tsinghua.edu.cn/android/"
- 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://git@github.com" />
附3:网址
清华大学:http://mirrors.tuna.tsinghua.edu.cn
中科大:http://mirrors.ustc.edu.cn