1. 接上一篇,我們找到google伺服器位址并且修改了host後, 就要用此位址下載下傳android源碼啦, 開始折騰前先确認一下,否則白折騰。
打開網址, http://www.apkbus.com/android-78127-1-1.html, 從裡邊找一個單獨的倉庫clone一下,看看是否能下載下傳下來。
比如: git clone https://android.googlesource.com/device/common.git
2. 下載下傳repo
用官方的網址下載下傳repo
curl http://android.googlesource.com/repo >~bin/repo
如果無法下載下傳,則用另一個吧,這是另外一個git伺服器的android源碼的repo檔案。 操作如下
$ curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo" > ./repo //擷取repo
$ chmod a+x repo
$ PATH= ~/bin:$PATH
3. repo init
下載下傳master分支:
repo init -u https://android.googlesource.com/platform/manifest
建立mirror:
repo init -u https://android.googlesource.com/platform/manifest --mirror
下載下傳指定分支:
repo init -u https://android.googlesource.com/platform/manifest -b android-5.1.0_r3
當然,你可以下載下傳指定分支的mirror, 方法同上。
repo init -u https://android.googlesource.com/platform/manifest -b android-5.1.0_r3 --mirror
4. repo sync
開始漫長的下載下傳啦: repo sync -j4
如果發生如下錯誤:
fatal: '../platform/abi/cpp.git' does not appear to be a git repository”
則可以修改以下檔案:
.repo目錄下的manifest.xml檔案
找到fetch屬性,在我的檔案中顯示fetch="..",将fetch修改為fetch="https://android.googlesource.com/",儲存并退出;
再重新 repo sync
5. 等待下載下傳完成吧
中間可能會發生錯誤, 可以寫個腳本循環調用 repo sync, 自己從網上查找。
(以下錯誤我也碰到了,但沒有理它,直接再手動打repo sync即可繼續下載下傳)
如果報錯誤異常為
DownloadError: android.googlesource.com: urlopen error 110] Connection timed out
解決方法
1. 浏覽器登入https://android.googlesource.com/new-password,并用gmail帳号登入;
2. 點選網頁上的“允許通路”,得到類似
machine android.googlesource.com login git-userName.gmail.com password password ;
machine android-review.googlesource.com login git-userName.gmail.com password password
3. 把上面那段資訊追加到~/.netrc檔案結尾(請檢查目前使用者的權限, 如果不存在此檔案則自己建立一個);
參考 : http://llll123cccc.blog.163.com/blog/static/3165864201275933110/
6. 下一篇将講一下,如何建構本地的android鏡像, 包括repo.git的建立。
我之前也寫過兩篇文章,但還是感覺太繁瑣了,可以先參考下, 等我再弄完一遍後, 就再重新寫一篇.
http://zzqhost.com/?post=71
http://zzqhost.com/?post=70