repo下载国内链接android源码

来源:互联网 发布:初学数控车床编程教程 编辑:程序博客网 时间:2024/06/06 04:56

刚好碰到要下载一个指定版本的android源码,在网上没有找到,所以只能自己去下载,看了谷歌官方下载帮助但是苦于墙抽风,下载速度也奇慢,所以找了几个国内的源头下载,那么跟着我动起来,在这之前你需要一台装有linux的电脑或者是虚拟机上装有linux也是可以的.
(一).科普一下git与repo的区别

     1. Git:Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。   2. Repo: Repo是谷歌用Python脚本写的调用git的一个脚本。主要是用来   下载、管理Android项目的软件仓库(也就是说Repo是用来管理给Git管理的一个个仓库的)

所以在进行操作前你需要安装git,和repo
(二).安装git与repo

  1. 安装git:sudo apt-get install git-core
  2. 安装curl:sudo apt-get install git-core curl
  3. 通过curl下载repo:
mkdir ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repochmod a+x ~/bin/repo// 如果上述 URL 不可访问,可以用下面的://curl https://storage-googleapis.lug.ustc.edu.cn/git//-repo-downloads/repo > ~/bin/repo
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

是的然后他会在指定的目录下生成一个repo文件

(三).准备下载

  • 创建工作目录(这个名称随意)
mkdir WORKING_DIRECTORYcd WORKING_DIRECTORY
  • 1
  • 2

-初始化仓库

repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest//其中repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest是清华提供的镜像源//repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest是中国科技技术大学的镜像源// 如果提示无法连接到 gerrit.googlesource.com,可以编辑 ~/bin/repo文件,把 REPO_URL 一行替换成下面的://REPO_URL = 'https://gerrit-googlesource.lug.ustc.edu.cn/git-repo'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 下载指定android版本(将上面初始化仓库的操作换成)
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-4.0.4_r2.1
  • 1

版本列表

  • 开始同步源码树
    repo sync
    下载速度鉴定图
    download
    下载完毕如图:
    完毕
    下载完成在工作目录下就可以看到:
    结构

同步帮助

是的文件比较大,一般在10G+,所以在下载过程中会碰到各种状况!
当你需要暂停时只需要ctrl+c就可以暂停同步,repo是支持断点续传的,关机你也可以再次来到工作目录执行repo sync继续同步!
当然同步过程可能会经常性的卡住,这时候我们可以使用一个脚本来帮忙

vim dowmload.sh(如果你还没下载vim 你可以执行sudo apt-get install vim来进行安装,关于vim的使用自行百度)
将下面的祖传代码写入dowmload.sh中:

 #!/bin/bash         echo "======start repo sync======"         repo sync         while [ $? == 1 ]; do         echo "======sync failed, re-sync again======"         sleep 3         repo sync         done
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

chomd a+x download.sh让其可以运行,然后终端输入./download.sh就可以开始下载了,用这一步代替官方文档里的repo sync。当连接不上终端时休息3毫秒然后再自动repo sync,这样就不用一直等着了。

0 0
原创粉丝点击