Android source code[ 原始碼]下載,問題和解決辦法

來源:互聯網
上載者:User

My environments: Ubuntu 11.04
Android source code: Android-4.1.1.1_r4
How to download the Android source code?
   Referenced from:http://source.android.com/source/downloading.html
   But maybe you will get many error as below, you just need the constancy or re do the "repo sync" command!!
   =========Get error:===========================
  
[plain] 
fatal: Not a git repository: '/home/yourname/android_source/.repo/projects/abi/cpp.git' 
fatal: Not a git repository: '/home/yourname/android_source/.repo/projects/abi/cpp.git' 
error: Cannot fetch platform/abi/cpp 
warn: --force-broken, continuing to sync 
 Fetching projects:   3% (7/228)  fatal: Not a git repository: '/home/yourname/android_source/.repo/projects/cts.git' 
fatal: Not a git repository: '/home/yourname/android_source/.repo/projects/cts.git' 
error: Cann ot fetch platform/cts 
warn: --force-broken, continuing to sync 
error: The requested URL returned error: 403 while accessing https://android.googlesource.com/platform/development/info/refs 
 
 
fatal: HTTP request failed 
error: gnutls_handshake() failed: A TLS packet with unexpected length was received. while accessing https://android.googlesource.com/platform/  development/info/refs 
 
 
fatal: HTTP request failed 
error: Cannot fetch platform/development 
warn: --force-broken, continuing to sync 


   ========Sovle above problem:============================
  
[plain] 
cxl@cxl-ThinkPad-E420:~/android_source/.repo/projects/abi$ rm -f -r cpp.git 
cxl@cxl-ThinkPad-E420:~/android_source/.repo/projects/rm -f -r cts.git 

   ========Finish download the source code=================
[plain] 
cxl@cxl-ThinkPad-E420:~/android_source$ repo sync 
...... 
 * [new tag]         android-4.1.1_r4 -> android-4.1.1_r4 
remote: Counting objects: 1, done 
remote: Finding sources: 100% (1/1) 
remote: Total 1 (delta 0), reused 1 (delta 0) 
Unpacking objects: 100% (1/1), done. 
From https://android.googlesource.com/platform/packages/apps/BasicSmsReceiver 
 * [new tag]         android-4.1.1_r4 -> android-4.1.1_r4 
remote: Counting objects: 65, done 
remote: Finding sources: 100% (40/40) 
remote: Getting sizes: 100% (40/40) 
remote: Compressing objects: 100% (15/15) 
remote: Total 40 (delta 21), reused 36 (delta 21) 
Unpacking objects: 100% (40/40), done. 
From https://android.googlesource.com/platform/sdk 
   9d34dab..0920b8e  master     -> aosp/master 
Fetching projects: 100% (294/294), done.   
info: A new version of repo is available 
 
project .repo/repo/ 
Updating e8f75fa..5e7127d 
Fast-forward 
 docs/manifest-format.txt |   13 ++++- 
 git_command.py           |    2 +- 
 manifest_xml.py          |   19 ++++-- 
 project.py               |  148 +++++++++++++--------------------------------- 
 subcmds/overview.py      |   80 +++++++++++++++++++++++++ 
 subcmds/sync.py          |    6 +- 
 subcmds/upload.py        |    5 +- 
 7 files changed, 157 insertions(+), 116 deletions(-) 
 create mode 100644 subcmds/overview.py 
 
info: Restarting repo with latest version 
Fetching projects: 100% (294/294), done.   
Checking out files: 100% (4587/4587), done.ut files:  36% (1666/4587)    
Checking out files: 100% (6222/6222), done.out files:  26% (1625/6222)    
Checking out files: 100% (8843/8843), done. out files:   8% (755/8843)    
Checking out files: 100% (24601/24601), done.ut files:  40% (9923/24601)    
Checking out files: 100% (17893/17893), done.ut files:   8% (1465/17893)    
Checking out files: 100% (624/624), done. 
Checking out files: 100% (974/974), done.ng out files:   1% (12/974)    
Checking out files: 100% (667/667), done.ng out files:  15% (104/667)    
Checking out files: 100% (370/370), done.ng out files:   8% (30/370)    
Checking out files: 100% (2407/2407), done. out files:  29% (720/2407)    
Checking out files: 100% (2412/2412), done. out files:   1% (27/2412)    
Checking out files: 100% (974/974), done. 
Checking out files: 100% (26958/26958), done.ut files:  32% (8780/26958)    
Checking out files: 100% (81/81), done. 
Checking out files: 100% (441/441), done.ng out files:  46% (205/441)    
Checking out files: 100% (4344/4344), done. 
Syncing work tree: 100% (294/294), done.   


-----------------------------------------------------Below is another solution, but it is not fix my problem,my be you can try it-----------------------------------------------------------

The error:
[plain] view plaincopyprint?
Exception in thread Thread-119: 
Traceback (most recent call last): 
  File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner 
    self.run() 
File "/usr/lib/python2.7/threading.py", line 505, in run 
    self.__target(*self.__args, **self.__kwargs) 
  File "/home/cxl/android_source/.repo/repo/subcmds/sync.py", line 200, in _FetchHelper 
    clone_bundle=not opt.no_clone_bundle) 
  File "/home/cxl/android_source/.repo/repo/project.py", line 968, in Sync_NetworkHalf 
    and self._ApplyCloneBundle(initial=is_new, quiet=quiet): 
  File "/home/cxl/android_source/.repo/repo/project.py", line 1526, in _ApplyCloneBundle 
    exist_dst = self._FetchBundle(bundle_url, bundle_tmp, bundle_dst, quiet) 
  File "/home/cxl/android_source/.repo/repo/project.py", line 1590, in _FetchBundle 
    raise DownloadError('%s: %s ' % (req.get_host(), str(e))) 
DownloadError: android.googlesource.com: <urlopen error [Errno 8] _ssl.c:503: EOF occurred in violation of protocol>  
 
 
error: RPC failed; result=56, HTTP code = 200B    
fatal: The remote end hung up unexpectedly 
fatal: early EOF 
fatal: index-pack failed 
warning: https unexpectedly said: '0000' 
error: Cannot fetch platform/external/qemu 

===========solution:==========================
[plain] 
(http://source.android.com/source/downloading.html)有段說明,如果認真執行就可解決。 
1. 瀏覽器登入https://android.googlesource.com/new-password,並用gmail帳號登入; 
2. 點擊網頁上的“允許訪問”,得到類似: 
[plain] 
1. machine android.googlesource.com login git-<userName>.gmail.com password <password>  
2. 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帳號進行認證。 www.2cto.com
這樣的話,在公司網路內或者用虛擬機器下載的話,會經常遇到這問題。 

 作者:iamcxl369

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.