Ubuntu14下repo的下载及Android源码下载

因为repo是google官方用python写的有关git命令的脚本,
因此第下载repo之前 首先安装git

第一步:安装Git

$sudo apt-get install git-core 

第二步:安装curl

因为要下载工具,android源码等,因此得安装一个下载工具,而Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。

$sudo apt-get install git-cor curl

第三步:创建目录,用来存放repo文件

$mkdir ~/android-bin
#创建成功,再换到android-bin目录
$cd ~/android-bin

第四步:下载repo并修改权限

#一般可用下面这个命令下载
$curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/android-bin/repo

如果上面这个url不可访问,我们可以通过下面2种方式来:

. 把url改成:把命令改成:

curl https://storage-googleapis.lug.ustc.edu.cn/git -repo-downloads/repo > ~/android-bin/repo

. 如果还是不行,则我们可以手动下载,然后把repo文件复制到~/android-bin/下面。
下载地址:http://download.csdn.net/download/spark_fountain/7203753

下载完成后,我们可以通过

$ls -l ~/android-bin/repo

命令来查看repo的文件权限,如果权限分数不是为777,则我们可以手动将repo的文件权限更改为777.

#我们得切换到root身份来修改
$su - root
#切换完成后,再执行下面的命令
$chmod 777 ~/android-bin/repo

第五步:repo初始化以及Android源码下载

在进行repo 初始化前,我们得先配置好本地Git的邮箱及用户名,如下:

$git config --global user.email "yourEmail@qq.com"
$git config --global user.name "yourname"

接下来为Android源码创建一个仓库目录

#在当前主目录下创建
$mkdir androidSources
#然后切换至目录下
$cd androidSources

接下来就正式进入repo init了,
网上有很多镜像,有各种说法,但不知为毛,我都没有成功,我也贴出来,你们可以试下,搞不好你人品好,一下就成功了。

#一种是使用中国科技大学的镜像源
$ repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-5.1.1_r4

#还有一种是使用清华大学的镜像源
$ repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-5.1.1_r4

以上2种对我都没用,
都报以下错误:

fatal: Cannot get https://gerrit.googlesource.com/Git-repo/clone.bundle

那怎么办,还是跟上面下载repo一下,命令行不能下载,那就只能手动下载了。
在翻墙的情况下打开https://gerrit.googlesource.com/git-repo/clone.bundle
下载clone.bundle到自定义目录
最后再在上面repo init命令最后加上clone.bundle,如下:

$ repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-5.1.1_r4 --repo-url ~/下载/clone.bundle

奇迹发生了,成功了。

第六步:开始同步Android源码

这是最后一步,开始同步Android源码,这个过程比较漫长,我在公司的网速一般,花了半天时间,切忌中间不能手动去crtl + c,如果你取消了,那前面 下的都白下了,而如果是它自己中途断了,则再重新执行repo sync命令,它会接着下。

$ repo sync

如图:
这里写图片描述

当然这是顺利的情况,也有运气不好的同学,在执行repo sync会遇到以下错误:

fatal: '../platform/abi/cpp.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
error: Cannot fetch platform/abi/cpp

这是什么意思呢?意思是没有找到git仓库,那么这个仓库地址是在哪呢?
在我们上面创建的存储android源码的目录下的一个.repo隐藏目录里面,
按如下操作:

#切换到.repo目录
$cd .repo
#用gedit打开manifest.xml文件
$gedit manifest.xml
#找到fetch标签,把值替换掉:fetch="git://Android.git.linaro.org/"

以上做完后,再次执行repo sync,就可以下载了。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值