当前位置: 代码迷 >> Android >> Android source code[ 源代码]上载,有关问题和解决方法
  详细解决方案

Android source code[ 源代码]上载,有关问题和解决方法

热度:515   发布时间:2016-05-01 17:39:09.0
Android source code[ 源代码]下载,问题和解决办法

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:===========================
   
   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:============================
   
   [email protected]:~/android_source/.repo/projects/abi$ rm -f -r cpp.git   [email protected]:~/android_source/.repo/projects/rm -f -r cts.git

   ========Finish download the source code================= 

[email protected]:~/android_source$ repo sync...... * [new tag]         android-4.1.1_r4 -> android-4.1.1_r4remote: Counting objects: 1, doneremote: 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_r4remote: Counting objects: 65, doneremote: 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/masterFetching projects: 100% (294/294), done.  info: A new version of repo is availableproject .repo/repo/Updating e8f75fa..5e7127dFast-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.pyinfo: Restarting repo with latest versionFetching 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:

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 unexpectedlyfatal: early EOFfatal: index-pack failedwarning: https unexpectedly said: '0000'error: Cannot fetch platform/external/qemu

===========solution:==========================
(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帐号进行认证。这样的话,在公司网络内或者用虚拟机下载的话,会经常遇到这问题。


PS:
 这一步骤必须把之前的.repo删除掉才行.


2楼fei_androidboy昨天 11:35
分享45个android实例源码,很好很强大.收藏吧nhttp://www.apkbus.com/android-20978-1-1.htmlnnGoogle Android开发精华教程nhttp://www.apkbus.com/android-13503-1-1.htmlnn分享20个Android游戏源码nnhttp://www.apkbus.com/android-21834-1-1.html
1楼iamcxl369昨天 10:25
感谢!!!
  相关解决方案