分类: Android平台
2013-08-05 14:02:33
我下载和编译环境
ubuntu 12.04
最近要做 android 的浏览器插件 要用到 android 的源码 参与编译(不是指 framework 层源码)
按照 google 的官网设置会出现在下载的时候产生错误 从而不能下载
之前的代码是在 kernel(android.git.kernel.org)管理,被Kernel踢出来之后,源码现在直接由Google(android.googlesource.com)管理。
用repo/git下载源码时,执行
1 $ repo init -u -b android-4.0.3_r1
会报错误 异常为
error: The requested URL returned error: 406 while accessing
fatal: HTTP request failed
error: Cannot fetch platform/cts
error: Failed to connect to 2404:6800:4008:c01::52: Network is
unreachable while accessing
fatal: HTTP request failed
error: Failed to connect to 2404:6800:4008:c01::52: Network is
unreachable while accessing
fatal: HTTP request failed
解决方法
1. 浏览器登录,并用gmail帐号登录;
2. 点击网页上的“允许访问”,得到类似
- machine android.googlesource.com login git-jacky.rg4.net password 1/dkRiGEvvC8o8Pgg-GsM2AbMNS_32-U0Pf0_VWkYogIA
- machine android-review.googlesource.com login git-jacky.rg4.net password 1/dkRiGEvvC8o8Pgg-GsM2AbMNS_32-U0Pf0_VWkYogIA
3. 把上面那段信息追加到~/.netrc文件结尾(请检查当前用户的权限, 如果不存在此文件则自己新建一个);
4. 下载地址的URI更改为(中间加上了“/a”)。
5. repo init -u -b android-4.0.3_r1
6. repo sync
即可拉下Android源码。
官方的说法是:因为访问基本是匿名的,为了防止连接过多(指内网/虚拟机),对同一IP地址的连接数做了一定的限制。看来是用gmail帐号进行认证。
这样的话,在公司网络内或者用虚拟机下载的话,会经常遇到这问题。
源码官网指导网址:
(ljhui)
使用linaro代码的时候, .netrc应该替换掉, 内容如下:
machine android.git.linaro.org
login login1
password password1