$ mkdir ~/bin
$ PATH=~/bin:$PATH
b) 获取Repo工具
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo 问题:上面是Google制定的repo获取地址,但获取可能失败。 解决办法:网上有网友给出了替代的获取地址,如遇报错可用下面的地址替代: curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo" > ~/bin/repo
3、初始化源码Repo下载地址2、建立并进入源码下载目录
$ mkdir WORKING_DIRECTORY $ cd WORKING_DIRECTORY
如是下载当前最新的代码,则:repo init -u https://android.googlesource.com/platform/manifest 如是下载特定Android成熟版本分支的代码,则加上-b 参数,如当前最新发布的android 4.4分支代码:
repo init -u https://android.googlesource.com/platform/manifest -b
android-4.4.1_r1 命令如顺利执行,期间将要求输入unsername和email,直接输入自己的自定义的用户名和email即可。 问题:在init过错中,可能会出现如下的443连接失败错误: error: Failed connect to android.googlesource.com:443 解决办法:找到/etc/hosts文件,增加如下地址(如无法保存需要用root权限修改hosts文件的访问权限): 74.125.128.82 android.googlesource.com 74.125.31.82 www.googlesource.com 203.208.46.172 cache.pack.google.com 173.194.74.82 gerrit.googlesource.com 上面的地址可能会发生变化,保存前在终端用ping命令逐个ping各个域名的当前IP地址替换:e.g.: ping android.googlesource.com4、同步全套源代码
$ repo sync
在init成功后下载的.repo目录下的manifest.xml里,找到fetch属性,并修改为:问题:命令执行过程中可能会报错: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解决办法:
fetch= "git://Android.git.linaro.org/"
repo sync命令在执行过程中一般不会一次性成功,中途可能超时或存在其他失败,此时只需再次执行repo sync即可,以前的记录会被缓存的。5、同步子模块代码
repo syn命令是同步所制定分支的全套代码,但全套代码的执行过程很长,有时候也并不需要全套代码而只需要特定子模块的代码。 获取子模块的方法是在repo sync 命令后加上子模块的git节点目录名即可,例如想要获取Launcher3模块的源代码:
repo sync packages/apps/Launcher3 各个子模块的节点目录查找方法:
在init成功后下载的.repo目录下的manifest.xml里,找到子模块的project 属性即可: e.g. Launcher 3 的git目录: ... <project path="packages/apps/Launcher2" name="platform/packages/apps/Launcher2" /> <project path="packages/apps/Launcher3" name="platform/packages/apps/Launcher3" /> <project path="packages/apps/LegacyCamera" name="platform/packages/apps/LegacyCamera" /> ...
我的手机专卖店,欢迎各位看官捧场:http://vpclub.octech.com.cn/ztewd/9495.html
原文地址:http://blog.csdn.net/droidpioneer/article/details/24738353