文档说明:
该文档由网络上的一篇文章实践+整理而来的。原文地址为:http://hi.baidu.com/j_key/item/170505ad9efd0037030a4d5d
情况说明:
其实就是google服务器有时候找不到.我们从另外一个服务上下载代码而已。
android整个工程是有很多个子工程组成的。代码放在Git服务器上。下载源码google 为了方便大家写了一个Python脚本叫做 repo。
本来我们按照google官方网站提供的下载说明就可以下载了,但是可惜的在天国比较神奇,所以我们更多时候总是链接不到这个网址。链接不到google的源码服务器怎么办?试想如果把android源码全部copy到我们这个国度可以访问到的地址上就可以了。所以就有以下办法:
- 别人下载的code 传到了国内的网盘或者服务器上
- 有人或者公司将android整个项目的代码 镜像了一份。提供和google类似的下载方式,只是地址需要做一下改变。(我们就说这个,其实就是换地址而已。)
所以下载android源码就分下面几步:
一、配置下载环境
下载android 源码需要一下环境:linux、curl、python、git-core
这里我们在home路径下建立两个目录
android_souce_code:这个目录用来存放android源代码
$cd ~
$mkdir android_souce_code
bin:这个目录放在repo工具
$mkdir bin
将~/bin路径加入环境命令
$ PATH=~/bin:$PATH
linux:
推荐使用Ubuntu 因为代码在编译的时候,android官方推荐使用 Ubuntu 的。如果在windows下你 可以使用cygwin工具,cygwin的安装和使用比较简单。
curl和git的安装
curl:用来获取repo脚本的
git-core:repo其实可以说是git的批处理
Ubuntu 使用命令安装:
$sudo apt-get install git-core curl
二、获取repo脚本工具,设置环境变量
说明:其实curl工具的目的就是将repo下载下来。那么你也可以从网络直接下载,不过地址要找安全的。你可以直接访问https://dl-ssl.google.com/dl/googlesource/git-repo/repo下载repo。下载到~/bin目录下。
不过使用curl获取repo工具更安全
命令:
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
下载repo的过程中你可能会遇到如下悲剧:
网上或者很多书籍上都是这样写的:
curl http://android.git.kernel.org/repo > ~/bin/repo
结果得到的repo不能用,什么301重定向的,唉!悲催啊!后来在csdn上发了个贴子,大牛给解决啦!
http://code.google.com/p/git-repo/downloads/detail?name=repo-1.12 这个链接提供下载repo!
也可以通过下面命令得到:
curl http://git-repo.googlecode.com/files/repo-1.12 > ~/bin/repo
修改执行权限
$chmod a+x ~/bin/repo
三、初始化repo工具获取并设置源代码各个子项目的下载信息
编辑repo工具,修改~/bin/repo文件将第五行
REPO_URL='https://code.google.com/p/git-repo/'
改为
REPO_URL='http://code.google.com/p/git-repo/'
进入到android_souce_code目录下
cd android_souce_code
修改后执行(这条命令下载的是 android-2.3.4的源代码):
$~/bin/repo init -u git://Android.git.linaro.org/platform/manifest.git -b android-2.3.4_r1
这里-b 是用来定义你需要下载的android代码的版本的 如果直接执行
$~/bin/repo init -u git://Android.git.linaro.org/platform/manifest.git
下载的是最新的android souce code 。
如果你需要下载android 2.2的源代码则输入命令:
$~/bin/repo init -u git://Android.git.linaro.org/platform/manifest.git -b froyo
这个命令执行后大概需要一分钟时间执行。
如果没有修改,你可能会再次悲剧:
这一步又是容易出错啊,哥就死在这里很久啊!很多书籍或网站上都是这样命令:
~/bin/repo init -u git://android.git.kernel.org/platform/manifest.git
执行以后,等n久,结果出现让你喜出望外的结果啊
error:Failed connect to code.google.com:443; Operation now in progress while accessing https://code.google.com/p/git-repo//info/refs
四、修改下载配置文件
找到android_souce_code目录中的.repo下面的manifest.xml文件,这是个隐藏文件 ls -a才能看到
cd .repo
修改manifest.xml文件
将fetch="git://Android.git.kernel.org/"
改为
fetch="git://Android.git.linaro.org/"
五、执行命令、耐心等待
执行: $repo sync
这个过程比较长大概需要几个小时。
本文出自 “琴弦Jerry” 博客,请务必保留此出处http://qxjerry.blog.51cto.com/947484/879952