转自:http://blog.csdn.net/thl789/article/details/7524232
本文解决公用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下载源码时,执行
$repoinit-uhttps://android.googlesource.com/platform/manifest-bandroid-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帐号进行认证。
这样的话,在公司网络内或者用虚拟机下载的话,会经常遇到这问题。
分享到:
相关推荐
在公司网络内或者用虚拟机下载的过程 repo init -u https://android.googlesource.com/platform/manifest -b android-2.3.3_r1
此外,还可以锻炼用户的团队协作能力,因为在开发过程中需要与团队成员紧密合作,共同解决遇到的问题。 总之,该基于Android的在线商城大作业是一份非常有价值的学习资源,不仅提供了必要的指导和支持,还可以帮助...
如果多线程同时读写(这里的指不同的线程用使用的是不同的Helper实例),后面的就会遇到android.database.sqlite.SQLiteException: database is locked这样的异常。对于这样的问题,解决的办法就是keep single ...
同时给出了详细的系统设计过程、部分界面图及主要功能运行流程图,本文还对调试过程中遇到的问题和解决方法进行了详细的讨论。 播放器实现的功能主要有:本地播放、暂停、上一曲、下一曲、歌曲下载、歌曲搜索、...
此外,还可以锻炼用户的团队协作能力,因为在开发过程中需要与团队成员紧密合作,共同解决遇到的问题。 总之,该基于Android的在线商城大作业是一份非常有价值的学习资源,不仅提供了必要的指导和支持,还可以帮助...
此外,还可以锻炼学生的团队协作能力,因为在完成作业的过程中,需要与同学合作,共同解决遇到的问题。 总之,该作业是一份非常有价值的学习资源,不仅提供了必要的指导和支持,还可以帮助学生快速入门Android应用...
自己根据百度开发者平台写的一个demo,实现一些简单地图显示,以解决新手在环境配置上遇到问题而无法继续进行下去
之前上传的资料没看过评论,很多朋友遇到了问题没有及时发现沟通解决,这次末尾有联系方式,有问题的朋友可以联系交流。 详细信息如下: 一、附件为小学生口算练习小程序,为自家宝贝设计的,自用之余拿来大家分享...
java班级管理源码 GitHub 托管 GitBook 在线阅读 在线阅读,PDF、ePub、Mobi电子书下载 内容:JavaSE 基础,JavaSE 高级,Android 基础,Android ...jar包冲突](开发遇到的问题/手把手教你如何解决as jar包冲突
设计模式已经成为开发人员最重要的技能之一,它们能够让你优雅、简单、灵活地解决开发中遇到的设计难题,让你的软件系统具有更好的可扩展性、灵活性,在特定场景之下让你的软件系统实现拥抱变化。但设计模式运用在...
Android开发中我们会经常遇到图片过多或操作不当造成OOM异常,有时虽然是解决了这个问题但却会影响程序的运行效率,例如:当用户在快速滑动滚动条的过程中,我们程序在仍在艰难的加载服务器端的图片,这样给用户造成...
在安装Camera2Basic app的时候,可能会遇到“Failure [INSTALL_FAILED_TEST_ONLY: installPackageLI]” 错误, 此时 通过adb install -t 的方式安装,可以解决问题。 更多信息可以参考链接:...
本书是在分析Android源码的基础上展开的,而源码文件所在的路径一般都很长,例如,文件AndroidRuntime.cpp的真实路径就是framework/base/core/jni/AndroidRuntime.cpp。为了书 写方便起见,我们在各章节开头把该...
Android TextView可以支持简单的Html标签,但大部分Html标签是不支持的或者处理得不太好的,其中Img标签就是如此。如果在html中使用img标签的话就会遇到以下... 笔者通过参考大量资料和源码,解决了上述3个问题。
由于在Android源码中,很多方法、成员、类、包都被打上@hide标签,这些成员在SDK中没有公开,以至于在编译Launcher源码时最常遇到的类android.view.View的成员mScrollX无法访问。 下面说说如何解决这个问题。 1,...
旨在通过对Android系统源代码的全面分析来帮助开发者加深对Android系统架构设计和实现原理的认识,从而帮助他们解决开发中遇到的更加复杂的问题。《Android技术内幕:系统卷》分为两卷,系统卷主要分析了Linux内核层...
遇到的问题: 1、发送短信字符过长会导致发送失败 解决方法:设置发送每条短信为70个字以内。 原理:每条短信限制160字符以内,每个汉字是2个字符。平时我们发送短信几乎不限长度,是因为一旦超过了单条短信的...
本书为了便于读者能最大程度地掌握Android应用开发,我们介绍了大量有关Android系统的基础知识,并且将平时开发过程中遇到的问题一一注明,避免读者朋友们走弯路。 详细阐述Android每一个控件的使用本书讲解了...
我在开发Android与C#程序之间的数据交互时也遇到了这个问题,现将处理经验与大家分享一下。 C#系统采用DES加密字符串,Android用DES解密就是不成功,从网上搜了许多源码都不能用,深入研究加密流程及算法是没有时间...