解決下載Android源碼時遇到的問題

來源:互聯網
上載者:User

本文解決公用IP(外網IP有限,經常發生在公司網路環境或虛擬機器上)的機器下載Android原始碼遇到的問題。

注意本文只針對當前從android.googlesource.com下載源碼時遇到的問題,因為網路和後續Android源碼維護升級等因素,有時效性,並不能保證以後一定還起作用。

利用五一假期期間,用家裡的網路要把Android2.3,4.0都下載下來。但操作起來還真有遇到了問題。
之前Android的代碼是在Linux kernel(android.git.kernel.org)管理,被Kernel踢出來之後,Android源碼現在直接由Google(android.googlesource.com)管理。
用repo/git下載源碼時,執行

$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.4_r1.2

報錯:

Exception in thread Thread-3:Traceback (most recent call last):  File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner  self.run()  File "/usr/lib/python2.6/threading.py", line 484, in run  self.__target(*self.__args, **self.__kwargs)  File "/home/haili/android-4.0.4_r1.2/.repo/repo/subcmds/sync.py", line 200, in _FetchHelper  clone_bundle=not opt.no_clone_bundle)  File "/home/haili/android-4.0.4_r1.2/.repo/repo/project.py", line 978, in Sync_NetworkHalf  and self._ApplyCloneBundle(initial=is_new, quiet=quiet):  File "/home/haili/android-4.0.4_r1.2/.repo/repo/project.py", line 1519, in _ApplyCloneBundle  exist_dst = self._FetchBundle(bundle_url, bundle_tmp, bundle_dst, quiet)  File "/home/haili/android-4.0.4_r1.2/.repo/repo/project.py", line 1583, in _FetchBundle  raise DownloadError('%s: %s ' % (req.get_host(), str(e)))DownloadError: android.googlesource.com: <urlopen error [Errno 110] Connection timed out>  ...

看這出錯很莫名,Python是正確安裝了的,版本也是要求的。其實官網(http://source.android.com/source/downloading.html)有段說明,如果認真執行就可解決。

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. 把上面那段資訊(<userName>和<password>用自己得到的真實資訊)追加到~/.netrc檔案結尾;

4. 的URI更改為https://android.googlesource.com/a/platform/manifest(中間加上了“/a”)。

然後按照官網描述的正常步驟操作,即可拉下Android源碼。

官方的說法是:因為訪問基本是匿名的,為了防止串連過多,對同一IP地址的串連數做了一定的限制。看來是用gmail帳號進行認證。

這樣的話,在公司網路內或者用虛擬機器下載的話,會經常遇到這問題。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.