V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
oska874
V2EX  ›  Android

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

  •  
  •   oska874 · 2015-07-18 18:42:14 +08:00 · 9871 次点击
    这是一个创建于 3416 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有没有做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 的话,会占用多大地方啊?

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

    @varx 目前可是 60.1 G
    oska874
        7
    oska874  
    OP
       2015-07-18 20:56:22 +08:00
    我好像找到原因了。ubuntu里面设了2个连接,一个是内网的,一个是外网的,结果下载下载者不知道怎么的就切换到内网那个连接了。
    这回真是二了。
    clino
        8
    clino  
       2015-07-18 21:09:30 +08:00
    我在公司内维护一个aosp镜像,镜像本身是翻墙更新的
    oska874
        9
    oska874  
    OP
       2015-07-18 22:05:09 +08:00 via Android
    @learnshare 额 64g,虚拟机撑爆了
    @ooxxcc 114 是啥?
    @clino 翻墙太辛苦了,就指着国内的第三方镜像了,也不需要第一时间更新。
    learnshare
        10
    learnshare  
       2015-07-18 22:56:28 +08:00
    @oska874 虚拟机建议能有 200G+ 的空间,而且最好不是虚拟机,因为编译非常耗硬件,一般的笔记本都不建议搞这个
    oska874
        11
    oska874  
    OP
       2015-07-18 23:30:00 +08:00 via Android
    @learnshare 这个,得多耗。。以前也就用笔记本编译过fpga,内核啥的。编译aosp 用i7 得多久?
    oska874
        12
    oska874  
    OP
       2015-07-18 23:39:40 +08:00 via Android
    做aosp 开发,必须得台式?笔记本的i7 i5 扛不住吗。
    qw7692336
        13
    qw7692336  
       2015-07-19 02:02:22 +08:00
    我好奇需要的时间
    learnshare
        14
    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
        15
    oska874  
    OP
       2015-07-19 10:34:54 +08:00
    @learnshare 这些都是直接跑linux/osx 的时间?mac mini 高配是i7 四核的么?
    另外问一句,用编译缓存(ccache)可以保证不会影响重新编译的正确性吗,我之前试过编译kernel,结果一次出错之后,此次出错,编译的uImage 都有10M了(正常三四M)
    learnshare
        16
    learnshare  
       2015-07-19 11:05:50 +08:00
    @oska874 完全是 local 的 Linux,CPU 满速跑下来的。
    ccache 是为了保存编译产出的中间文件,提高二次编译的效率的,应该不会导致编译出错
    oska874
        17
    oska874  
    OP
       2015-07-19 12:09:23 +08:00
    快疯了。repo 不能断点续传,然后3、4次都是下载了30%,然后“error: Exited sync due to fetch errors”。 有什么办法断点续传啊,不然都down不完了。
    oska874
        18
    oska874  
    OP
       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
        19
    clino  
       2015-07-19 20:23:10 +08:00
    我记得 repo sync 有 -c 的命令,只下当前分支
    另外 manifest里还可以配置 clone depth,可以配置成 git 浅clone那样的,这样能快一些,当然历史就不全了
    oska874
        20
    oska874  
    OP
       2015-07-19 22:41:15 +08:00
    @clino 用 -c 真的很快啊,一下子就99%。
    我用git 还不是很久,请教一下浅clone 是什么,不太理解。另外我用ps -ef 看了,repo 使用fetch 而没有clone,修改那个manifest 文件?
    clino
        21
    clino  
       2015-07-19 22:58:54 +08:00
    @oska874 你要是对manifest文件了解得不是很清楚就不要试depth的方法了,这个要自己改一个manifest出来
    git 的 浅 clone 举个例子,比如 depth 为 1 的话,下来的git库只有最新的一个版本历史
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1953 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 00:41 · PVG 08:41 · LAX 16:41 · JFK 19:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.