注意的問題
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