您的位置:首页 > 移动开发 > Android开发

如何不翻墙下载Android代码

2015-09-16 19:43 507 查看
如何不翻墙下载Android代码
转自 http://itfish.net/article/46330.html
由于众所周知的原因,在国内是无法访问谷歌的服务器的,更不用说下载十几个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[/code] 
改为清华的源:

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="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://git@github.com" />

附3:网址

清华大学:http://mirrors.tuna.tsinghua.edu.cn

中科大:http://mirrors.ustc.edu.cn

另外还有腾讯提供的镜像:http://android-mirror.bugly.qq.com:8080
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: