如何不翻墙下载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-repo文件夹,其中就有我们需要的repo,将其拷贝到环境变量PATH定义的路径中,并给其加上可执行权限。
2、修改Repo中得REPO_URL
将repo文件中的
修改为:
3、repo init
执行repo init -u 指令下载manifest
将从google下载的指令:
转自 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
相关文章推荐
- android获取当前焦点的位置,查找焦点的位置
- Android开发环境的演变
- Android 中的 Service 全面总结
- 一个监听器(Listener)实现多个按钮的onclick监听
- Android 短信验证
- [Android] ImageView.ScaleType设置
- Android ndk的ABI条件编译
- Android实例-屏幕操持常亮(XE8+小米2)
- Android开源项目
- Android 代码移植drawable报错
- Android:ListView优化之具有弹性的ListView
- Android实例-获取安卓手机WIFI信息(XE8+小米2)
- Android 6.0 Phone 多方通话流程
- Android网络图片加载缓存处理库的使用---第三方库学习笔记(五)
- Android动画效果——X、Y轴抖动
- Android Studio导入github下载的工程
- Android 保持键盘隐藏
- android EditText 中的TextWatcher 限制小数点位数
- Android应用程序用户界面(十)对话框
- Android 手动显示和隐藏软键盘