`
modabobo
  • 浏览: 508818 次
文章分类
社区版块
存档分类
最新评论

Android SDK下载异常(hostname in certificate didn't match)

 
阅读更多

对于Android开发者来说,每次下载更新 Android SDK 都是一次痛苦的经历,因为 google 被墙,每次我们都要想尽办法来更新 SDK,以前我是通过 VPN 来下载 SDK,但是也只能保证稍微稳定一点的下载速度,每次更新还是要耗费很长的时间来等待,上星期我的同事发现通过修改 hosts 文件并将下载地址域名指向203.208.46.146即可加快速度,而且下载速度基本上都是4,5M左右,这让我惊喜异常,说实话,其实我甚至大家都很早知道可以通过修改 host 文件来提高 SDK 下载速度,但是把域名指向哪里是一个问题,以前我曾经按照一篇帖子来试过修改 host ip 的方法,先通过http://ping.chinaz.com来 pinghttp://dl-ssl.google.com这个域名(Android SDK下载地址所用的域名),然后点击查询即可,如图所示:
android-sdk-00

可见这个域名已经完全被墙掉,国内基本上没有可以 ping 通的地方,有的博文说可以试下 海外 的 ip,于是我在监测点上只选择了海外,查询后结果如下图所示:
android-sdk-01

基本上都可以 ping 通,而且速度还很不错,有的博文会推荐使用这些响应IP,但是我曾经试过,在 hosts 文件中将 SDK 下载域名指向这些 ip 之后依然无法下载 sdk,我们可以直接 ping 下ip,以 荷兰 的 74.124.136.93 响应IP 为例,查询结果如下图所示:
android-sdk-02

很明显,这个位于美国的 IP地址 已经被墙掉了,事实上,所以我们将 hosts 中的 sdk 下载地址域名指向这些 ip 其实并没有作用,服务器依然被墙。

那么为什么我们要将 hosts 中的sdk下载地址域名指向203.208.46.146这个 IP 呢?我们照例来 ping 下它就会知道:
android-sdk-03

看到IP归属地我相信大家都已经明白了,这应该是 google 位于北京的服务器,它的响应速度也是非常快的,我们将 sdk 下载地址域名指向这个ip,由于服务器就在北京,所以下载速度是非常可观的,可以看下我修改后的下载速度:
android-sdk-04

基本上是4,5M 每秒的速度,更新完全部sdk也只花费了我很少的时间。

这里再简单讲一下如何修改 hosts 文件,Windows 的 hosts 文件位于C:\WINDOWS\system32\drivers\etc这个位置,通过文件浏览器直接进入这个目录然后用编辑器修改 hosts 文件即可;
Mac 的hosts文件位于/etc/hosts,我们可以通过 shell 命令行来操作它,sudo nano /etc/hosts是直接调用出默认文本编辑器来操作的,我们也可以使用 VIM 或者其它编辑器sudo vim /etc/hosts,使用sudo则是因为 hosts
文件是系统文件,操作它需要管理员权限,最后我们将以下内容粘贴保存即可:

203.208.46.146  dl.google.com
203.208.46.146  dl-ssl.google.com

注意前面不要加#号,否则这一行将被注释掉。

修改完 hosts 文件之后我们就可以打开 eclipse,然后点击菜单中的Window —— Android SDK Manager来下载更新 SDK 了,但是当我们勾选任务开始下载的时候,问题来了:

Download interrupted: hostname in certificate didn't match: != Download interrupted: Connection to https://dl-ssl.google.comrefusedDone. Nothing was installed.

上面的异常信息就是我们修改完 hosts 文件之后下载 sdk 报的异常,异常信息提示dl-ssl.google.comhttps证书可能不正确,通过搜索得知,我们可以将 Android SDK 下载默认使用的https协议改为未加密的http协议,这样便能避免此异常的产生。

将 SDK 下载地址的https协议改为http协议的步骤如下:

  1. 在Eclipse菜单中选择Window —— Android SDK Manager即可打开Android SDK 下载窗口;
  2. 在Android SDK下载窗口选择Preferences...菜单项打开设置窗口;
  3. 最后在设置窗口勾选Others中的第一项Force https://... sources to be fetched using
    http...
    即完成操作。
    android-sdk-05
    完成修改之后,我们关闭设置窗口就可以正常且快速的下载 Android SDK了。



参考链接:
http://jingyan.baidu.com/article/1974b289ad9ad3f4b1f7749a.html

http://www.netfoucs.com/article/wsq2002/75368.html

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics