绕过https下载aosp代码
来源:互联网 发布:工作进度跟踪软件 编辑:程序博客网 时间:2024/05/16 13:43
下载Google Android(AOSP)开源代码总碰钉子。Google喜用https,这让我在公司里受制于proxy,公司怎能让加密后的数据随意进出公司内网呢;在家里受制于伟大的墙,Oh,伟大的墙。翻墙吧,速度又太慢。AOSP代码量已达到近30G。
反复碰壁后,痛定思痛,潜心研究了一下Google的下载工具-repo。大体框架理清了。repo只是一个wrapper,它先在当前目录下建子目录.repo/repo,然后下载一系列工具到.repo/repo里,最后调用.repo/repo/main.py。而main.py又会调.repo/repo/subcmds下的脚本。比如你输入的命令是“repo init”,.repo/repo/subcmds/init.py里的代码就会被使用。
架构清楚了,怎么才能快速下载呢?大的思路是用不加密的http代替加密的https。先看一下google网页-http://source.android.com/source/downloading.html上的下载步骤:
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
这是在下载repo,不会出问题。下面,
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
这也不会有问题。
$ repo init -u https://android.googlesource.com/platform/manifest
问题来了,首先需要将https换成http,还不够,还会出现clone.bundle无法下载的错误。原因是repo只是一个wrapper,它的代码会用https协议下载真正干活的工具。这时会出错。需要替它完成这步工作。有3个方法。方法一,如果你以前成功执行过repo init,把.repo/repo拷贝过来,也放在WORKING_DIRECTORY/下的.repo/repo。方法二,用"mkdir .repo; git clone http://gerrit.googlesource.com/git-repo repo" 然后用“git checkout”切换到stable分支。这个方法我没试,可能会有些问题。方法三,将repo中_Clone()和_Checkout()中相应的命令抽出来,逐个执行:
$ mkdir -p .repo/repo; cd .repo/repo
$ git init --quiet
$ git config remote.origin.url http://gerrit.googlesource.com/git-repo
$ git config remote.origin.fetch '+refs/heads/*:refs/remotes/origin/*'
$ git fetch origin '+refs/heads/*:refs/remotes/origin/*' 'refs/tags/*:refs/tags/*'
$ git update-ref refs/heads/default 'refs/remotes/origin/stable^0'
$ git config 'branch.default.remote' 'origin'
$ git config 'branch.default.merge' 'refs/heads/stable'
$ git symbolic-ref HEAD 'refs/heads/default'
$ git read-tree --reset -u HEAD
下面你就可以执行:
$ cd ../..
$ repo init -u http://android.googlesource.com/platform/manifest
应该成功了。检查一下这个文件:.repo/manifests/default.xml,看看有没有https,有的话将其替换为http。现在可以执行:
$ repo sync
如果你经历过之前的慢速、时断时续、停滞不动,和下载失败。现在,看着飞速下载,你一定自心底冒出一个字,这个字就念“shuang”。
- 绕过https下载aosp代码
- 绕过https下载google aosp代码
- webService用axis1.x绕过https证书校验的代码
- java实现 HTTP/HTTPS请求绕过证书检测代码实现
- java实现 HTTP/HTTPS请求绕过证书检测代码实现
- AOSP: 下载 android 源码
- aosp + GOagent 下载源代码
- AOSP: 下载 android 源码
- Android AOSP源码下载
- AOSP 下载单个分支
- 从代码了解AOSP
- https请求绕过证书
- HTTPS绕过证书
- SSL绕过https
- AOSP: 下载 android kernel 源码
- 通过AOSP下载android源码
- android AOSP 源码下载指南
- 国内下载Android AOSP源码
- 2013走了,2014来了
- 1076:猜数字
- ARM中C和汇编混合编程及示例
- 帧差法、光流法、背景减除法
- Android平台定义的主题样式:
- 绕过https下载aosp代码
- 1086:大数取模
- ASP.NET初了解(二)-- 页面构成介绍
- 占位博客
- 1153 - Keep the Customer Satisfied(贪心+优先队列)
- 占位博客
- 占位博客
- 占位博客
- 1087:1的个数