Android(安卓)Repo
关于Android源码下载的问题,纠结了很久,遇到很多问题,现在终于解决了,小结一下。
1、Repo是什么?
“repo只是google用Python脚本写的调用git的一个脚本,主要是用来下载、管理Android项目的软件仓库。(也就是说,他是用来管理给git管理的一个个仓库的)”引用来源
2、Repo获取
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
3、Repo初始化仓库
国内采用清华镜像
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest
4、同步代码
repo sync
下面说说遇到的问题
1、同步某个Project失败,手动同步了一下,查看输出日志
$ repo sync frameworks/compile/slang
Fetching project platform/frameworks/compile/slang
Fetching projects: 100% (1/1), done.
error: unable to create file tests/P_str_escape/str\\escape.rs (No such file or directory)
奇葩的路径找不到,手动创建了该文件路径,同步就成功了。
$ repo sync frameworks/compile/slang
Fetching project platform/frameworks/compile/slang
Fetching projects: 100% (1/1), done.
2、经常遇到同步失败,网络错误,需要采用自动重试脚本
#!/bin/bash
echo ¨================start repo sync===============¨
repo sync -f -j4
while [ $? == 1 ]; do
echo ¨================sync failed, re-sync again=============¨
sleep 3
repo sync -f -j4
done
这个脚本要命的是停止都停不下来,除非杀掉或成功。注意清华镜像要求不要使用-j参数,线程数目不能超过4(默认是4)
参考文章:
1、http://blog.csdn.net/sunchaoenter/article/details/46342759
2、http://mirrors.tuna.tsinghua.edu.cn/help/#AOSP
3、http://blog.csdn.net/luoshengyang/article/details/18195205
更多相关文章
- 关于Android(安卓)webview 的cookie同步的坑
- Android使用glide实现毛玻璃效果
- 探索Android(安卓)FrameWork底层开发
- Android的Multilib Build
- Auto.js逆向分析-提取脚本文件(附源码)
- android Nexus Maven私有仓库搭建
- 【Android】使用persist属性来调用脚本文件
- 一个用于导出android项目配置宏为单个独立xml文件的shell脚本
- Android(安卓)Studio 3.3.X 导入项目的正确姿势