与没有做 aosp 开发的?怎么下载 aosp 的源?

2015-07-18 18:42:14 +08:00
 oska874

有没有做android 开发的,请教点问题。
今天突发奇想想编译一个aosp 试试,但是下载不了aosp 的源码,要翻樯的话源码太多了速度不够,然后找了中科大(https://lug.ustc.edu.cn/wiki/mirrors/help/aosp) 和清华(https://aosp.tuna.tsinghua.edu.cn/) 的源,刚开始还好,下载了七百多兆,但是到中间就不行了,报个错:

repo sync                                                    
fatal: unable to connect to aosp.tuna.tsinghua.edu.cn:
aosp.tuna.tsinghua.edu.cn: Name or service not known

奇怪的是utsc 的源也报同样的错:

repo sync 
fatal: unable to connect to mirrors.ustc.edu.cn:
mirrors.ustc.edu.cn: Name or service not known

就好奇,android 从业者是怎么做的,都是直接翻樯下载,还是用第三方镜像?介绍一下被。

ps一下:如果直接repo sync 的话,会占用多大地方啊?

9868 次点击
所在节点    Android
21 条回复
choury
2015-07-18 18:53:44 +08:00
这个是你自己的网络问题吧,你查下你的dns设的是什么
oska874
2015-07-18 18:55:16 +08:00
@choury 全都是默认的,没做个修改。
lee015
2015-07-18 18:56:57 +08:00
有时repo会失败,网上有个脚本,失败时自动重试的,用那个下载就OK了
ooxxcc
2015-07-18 19:04:03 +08:00
@oska874 换个114试试
varx
2015-07-18 19:05:00 +08:00
爬墙下的,整个目录32GB.
慢不要紧..稳定就好.
learnshare
2015-07-18 19:09:30 +08:00
@oska874 SS + proxychains 从 android.com 原始源下载

@varx 目前可是 60.1 G
oska874
2015-07-18 20:56:22 +08:00
我好像找到原因了。ubuntu里面设了2个连接,一个是内网的,一个是外网的,结果下载下载者不知道怎么的就切换到内网那个连接了。
这回真是二了。
clino
2015-07-18 21:09:30 +08:00
我在公司内维护一个aosp镜像,镜像本身是翻墙更新的
oska874
2015-07-18 22:05:09 +08:00
@learnshare 额 64g,虚拟机撑爆了
@ooxxcc 114 是啥?
@clino 翻墙太辛苦了,就指着国内的第三方镜像了,也不需要第一时间更新。
learnshare
2015-07-18 22:56:28 +08:00
@oska874 虚拟机建议能有 200G+ 的空间,而且最好不是虚拟机,因为编译非常耗硬件,一般的笔记本都不建议搞这个
oska874
2015-07-18 23:30:00 +08:00
@learnshare 这个,得多耗。。以前也就用笔记本编译过fpga,内核啥的。编译aosp 用i7 得多久?
oska874
2015-07-18 23:39:40 +08:00
做aosp 开发,必须得台式?笔记本的i7 i5 扛不住吗。
qw7692336
2015-07-19 02:02:22 +08:00
我好奇需要的时间
learnshare
2015-07-19 09:28:17 +08:00
@oska874 我给三个参考数据:

1. 10 年的 Acer 4741 i3 笔记本,8h 首次编译
2. 15 年的 Dell XPS13 i7 笔记本,3.5h 首次编译
3. 12 年的高配 Mac mini 小盒子,2h+ 首次编译

不过用了编译缓存之后,再次编译会节省大部分时间
oska874
2015-07-19 10:34:54 +08:00
@learnshare 这些都是直接跑linux/osx 的时间?mac mini 高配是i7 四核的么?
另外问一句,用编译缓存(ccache)可以保证不会影响重新编译的正确性吗,我之前试过编译kernel,结果一次出错之后,此次出错,编译的uImage 都有10M了(正常三四M)
learnshare
2015-07-19 11:05:50 +08:00
@oska874 完全是 local 的 Linux,CPU 满速跑下来的。
ccache 是为了保存编译产出的中间文件,提高二次编译的效率的,应该不会导致编译出错
oska874
2015-07-19 12:09:23 +08:00
快疯了。repo 不能断点续传,然后3、4次都是下载了30%,然后“error: Exited sync due to fetch errors”。 有什么办法断点续传啊,不然都down不完了。
oska874
2015-07-19 17:37:01 +08:00
@clino 崩溃了,下了20g 然后不动了,好几次了。。。我现在只打算下载一个分支android-5.1.1_r6, 这样做的`repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-5.1.1_r6` ,但是他还是下载很多,看着是全下载了,有什么办法下载的少一点,或者有没有打包到云盘的资源?
clino
2015-07-19 20:23:10 +08:00
我记得 repo sync 有 -c 的命令,只下当前分支
另外 manifest里还可以配置 clone depth,可以配置成 git 浅clone那样的,这样能快一些,当然历史就不全了
oska874
2015-07-19 22:41:15 +08:00
@clino 用 -c 真的很快啊,一下子就99%。
我用git 还不是很久,请教一下浅clone 是什么,不太理解。另外我用ps -ef 看了,repo 使用fetch 而没有clone,修改那个manifest 文件?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/206619

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX