这阵子突然心血来潮,想看看android的源代码,所以这一两天晚上都在折腾下载这个东西。
(其实在GitHub上可以在线看的,不过不太喜欢在线看,URL附上 https://github.com/android )
开始说下载之前顺便提一下看代码的工具,个人喜好 Souce Insight 。安装之前Source Insight需要先下载其.exe版本,然后使用wine(支持跑windows下的东西)进行安装,关于wine的使用可以自己去网上找找资料。
由于平时Ubuntu用的不多,整个下载的过程不是蛮顺利的。当然,为了方便还是去参考网络上的文章。我参考的文章是:
Ubuntu下载Android源代码和内核
URL: http://blog.csdn.net/zqiang_55/article/details/7173392
文章总体还是写得不错的,但按其步骤还是出了不少错误,如:
error: The requested URL returned error: 406 while accessing https://android.googlesource.com/platform/prebuilts/sdk/info/refs
fatal: HTTP request failed
刚开始还不以为然,这份源代码支持断点,错了可以repo sync。大概下载了一天一夜后,还是没有下载完。其间,输入过N次的repo sync 。
有点烦,索性弄了一个脚本 dw ,代码如下(其中../bin/repo部分请根据实际路径填写):
#!/bin/bash
echo "======start repo sync======"
../bin/repo sync
while [ $? == 1 ]; do
echo "======sync failed, re-sync again======"
sleep 3
../bin/repo sync
done
虽然发生错误以后会自动 repo sync,但错误确越是频繁出错。于是上网查了下资料,http://www.rosoo.net/a/201302/16504.html
按其上面提到的
解决方法
1. 浏览器登录https://android.googlesource.com/new-password,并用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文件结尾(请检查当前用户的权限, 如果不存在此文件则自己新建一个);
建了一个.netrc文件(完整路径,/home/minz/.netrc),之后脚本中下载的过程就顺利多了,出现的错误也越来越少,很快就成功下载了。
附图: