我试图从同名书中学习嵌入式Android。作者建议与AOSP姜饼分公司合作。所以我按照下载来源:
$ repo init -u https://android.googlesource.com/platform/manifest.git
-b gingerbread
$ repo sync
但它花了太长时间。同样从输出,在我看来它也喜欢从其他分支下载源代码(我看到android-5 .....)这不是我想要的。我想知道这是否需要这么长时间。
有没有人有同样的问题?请给我一个建议!谢谢!
答案 0 :(得分:27)
AOSP 是一个数千兆字节的下载,因此您无法做到这一点。但是,将-c
/ --current-branch
选项传递给repo sync
会导致Repo告诉Git只获取您真正需要的分支而不是每个存储库的所有分支。有了像Gingerbread这样的旧版本,理论上这应该是非常有益的。但是,Repo使用通过HTTP下载的Git包来存储存储库,并且包文件不受-c
选项的影响。使用--no-clone-bundle
禁用捆绑文件。因此,以下Repo命令应该产生最小的下载:
repo sync -c --no-clone-bundle
(请记住,Gingerbread是一个已有数年历史的版本。它在很多近期的硬件上都没有开箱即用。)
答案 1 :(得分:4)
repo sync -c --no-tags --no-clone-bundle -j2
大大缩短了我的同步时间。
答案 2 :(得分:2)
<强> repo init --depth 1
强>
这是另一个可能提高同步速度的选项,因为它只应下载最新版本的回购。
以下是我的完整测试命令:How to compile the Android AOSP kernel and test it with the Android Emulator?