关于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

更多相关文章

  1. 关于Android(安卓)webview 的cookie同步的坑
  2. Android使用glide实现毛玻璃效果
  3. 探索Android(安卓)FrameWork底层开发
  4. Android的Multilib Build
  5. Auto.js逆向分析-提取脚本文件(附源码)
  6. android Nexus Maven私有仓库搭建
  7. 【Android】使用persist属性来调用脚本文件
  8. 一个用于导出android项目配置宏为单个独立xml文件的shell脚本
  9. Android(安卓)Studio 3.3.X 导入项目的正确姿势

随机推荐

  1. Android(安卓)挂断电话流程
  2. Android(安卓)学习资料推荐
  3. Android(安卓)OPenCV 环境配置
  4. Android(安卓)OpenGL ES 开发教程(5):关于
  5. 实现Android的消息通知栏
  6. android,ExpandableList,将被选中的group置
  7. 数据存储之文件存储
  8. android之RadioButton与RadioGroup,CheckB
  9. freeglut中提供的几种立体几何对象绘制的
  10. okHttp3学习总结