android代碼下載

注意的問題

cygwin下的 ruby, python, perl 都可能出現這個問題。

我是在用 git svn 是遇到的,解決辦法如下:

  1. 關閉 Cygwin 的所有進程,用任務管理器檢查一下,確保所有都關閉了。
  2. 打開 Windows 的命令行(Start->Run->cmd.exe)。
  3. 進入 X:\Cygwin\bin 目錄。
  4. 執行 ash。
  5. 執行 /bin/rebaseall,如果提示要求關閉 Cygwin,說明你的進程沒有殺乾淨。實在不行,可以先重啓電腦。
  6. 等待 rebaseall 完成,問題就解決了。
具體引起的原因不詳。
4/13/2011 update:
有時會遇到 temp 目錄不可寫入錯誤:
rebaseall: '/cygdriver/c/Users/<username>/AppData/Local/Temp' is not writable
此時需要先返回cygwin bash中修改 temp 的權限:
# chmod 777 /cygdrive/c/Users/<username>/AppData/Local/Temp
然後,重新執行上述步驟。

 

 

 

 

準備Cygwin環境 ,其中要有curl、wget、python等基本工具。

2、準備源碼存放目錄 (如:c:\myeclair),進入Cygwin Shell環境,執行以下命令:

Java代碼 複製代碼 收藏代碼
  1. // 改變目錄位置到 C:   
  2. cd /cygdrive/c/   
  3.   
  4. // 創建存放源代碼的目錄、及repo命令存放的目錄   
  5. mkdir myeclair myeclair/bin   
  6.   
  7. //進入源代碼存放目錄   
  8. cd myeclair  
// 改變目錄位置到 C:
cd /cygdrive/c/

// 創建存放源代碼的目錄、及repo命令存放的目錄
mkdir myeclair myeclair/bin

//進入源代碼存放目錄
cd myeclair

    

3、安裝repo工具 ,repo是python語言編寫的用於獲取Android源代碼的命令行工具,執行以下命令進行安裝:

Java代碼 複製代碼 收藏代碼
  1. // 將repo文件保存到 bin目錄下   
  2. curl http://android.git.kernel.org/repo >bin/repo   
  3.   
  4. //修改repo文件爲可執行文件   
  5. 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命令完成版本庫初始化:

Java代碼 複製代碼 收藏代碼
  1. // 注意:此處和官方文檔所述方法的不同點在於,git://  --->  http://   
  2. // 我們加上了eclair標記   
  3. 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:// 。然後再執行以下命令:

Java代碼 複製代碼 收藏代碼
  1. // 同步版本庫   
  2. bin/repo sync  
// 同步版本庫
bin/repo sync

 視網絡情況而定,也許你會經過一個漫長的等待,但最終總會獲得了eclair的完整源代碼。

 

 

 

 

Android, repo sync經常失敗的解決辦法

Android 源代碼獲得過程中,repo sync經常失敗的解決辦法:

主要參見:http://www.tonypig.net/?p=9998 ,感謝作者;

1. 修改repo

    將REPO_URL中的git:修改爲http:
2. 在你要下載源代碼的目錄(這裏是 Android_SOURCE) 中,運行腳本:
在這裏我僅僅是取一個branch。repo的使用細則可以參見 google 的幫助:
@http://android.git.kernel.org/?p=platform/manifest.git;a=shortlog;h=65b15d6ef404b4011b7f78145b168eea5035ca82
3. 第二部成功後,repo會在 Android_SOURCE 目錄上 生成一個隱藏的目錄.repo; 而其中的 manifest.xml 中指定了需要下載的objects;
#cd .repo
#vi manifest.xml
 
將Fetch…中的git:修改爲http:
4, 執行 repo sync

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章