注意的问题
cygwin下的 ruby, python, perl 都可能出现这个问题。
我是在用 git svn 是遇到的,解决办法如下:
- 关闭 Cygwin 的所有进程,用任务管理器检查一下,确保所有都关闭了。
- 打开 Windows 的命令行(Start->Run->cmd.exe)。
- 进入 X:\Cygwin\bin 目录。
- 执行 ash。
- 执行 /bin/rebaseall,如果提示要求关闭 Cygwin,说明你的进程没有杀干净。实在不行,可以先重启电脑。
- 等待 rebaseall 完成,问题就解决了。
准备Cygwin环境 ,其中要有curl、wget、python等基本工具。
2、准备源码存放目录 (如:c:\myeclair),进入Cygwin Shell环境,执行以下命令:
- // 改变目录位置到 C:
- cd /cygdrive/c/
- // 创建存放源代码的目录、及repo命令存放的目录
- mkdir myeclair myeclair/bin
- //进入源代码存放目录
- cd myeclair
// 改变目录位置到 C:
cd /cygdrive/c/
// 创建存放源代码的目录、及repo命令存放的目录
mkdir myeclair myeclair/bin
//进入源代码存放目录
cd myeclair
3、安装repo工具 ,repo是python语言编写的用于获取Android源代码的命令行工具,执行以下命令进行安装:
- // 将repo文件保存到 bin目录下
- curl http://android.git.kernel.org/repo >bin/repo
- //修改repo文件为可执行文件
- chmod a+x bin/repo
// 将repo文件保存到 bin目录下
curl http://android.git.kernel.org/repo >bin/repo
//修改repo文件为可执行文件
chmod a+x bin/repo
打开repo文件,并修改首行内容 :
把其中REPO_URL=git:// 修改成 http:// (这主要是因为git://协议不能穿过代理服务/防火墙) 。
4、初始化版本 库 ,执行repo命令完成版本库初始化:
- // 注意:此处和官方文档所述方法的不同点在于,git:// ---> http://
- // 我们加上了eclair标记
- bin/repo init -u http://android.git.kernel.org/platform/manifest.git -b eclair
// 注意:此处和官方文档所述方法的不同点在于,git:// ---> http://
// 我们加上了eclair标记
bin/repo init -u http://android.git.kernel.org/platform/manifest.git -b eclair
备注: Android各版本及其代号列表:
1.5 cupcake
1.6 donut
2.0/2.1 eclair
2.2 froyo
2.3 gingerbread
5、同步版本 库 ,即真正开始源代码的下载。首先修改 .repo/manifest.xml 文件,将其中的 git:// 修改成 http:// 。然后再执行以下命令:
- // 同步版本库
- bin/repo sync
// 同步版本库
bin/repo sync
视网络情况而定,也许你会经过一个漫长的等待,但最终总会获得了eclair的完整源代码。
Android, repo sync经常失败的解决办法
Android 源代码获得过程中,repo sync经常失败的解决办法:
主要参见:http://www.tonypig.net/?p=9998 ,感谢作者;
1. 修改repo