对于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下载地址所用的域名),然后点击查询即可,如图所示:
可见这个域名已经完全被墙掉,国内基本上没有可以 ping 通的地方,有的博文说可以试下 海外 的 ip,于是我在监测点上只选择了海外
,查询后结果如下图所示:
基本上都可以 ping 通,而且速度还很不错,有的博文会推荐使用这些响应IP,但是我曾经试过,在 hosts 文件中将 SDK 下载域名指向这些 ip 之后依然无法下载 sdk,我们可以直接 ping 下ip,以 荷兰 的 74.124.136.93 响应IP 为例,查询结果如下图所示:
很明显,这个位于美国的 IP地址 已经被墙掉了,事实上,所以我们将 hosts 中的 sdk 下载地址域名指向这些 ip 其实并没有作用,服务器依然被墙。
那么为什么我们要将 hosts 中的sdk下载地址域名指向203.208.46.146
这个 IP 呢?我们照例来 ping 下它就会知道:
看到IP归属地
我相信大家都已经明白了,这应该是 google 位于北京的服务器,它的响应速度也是非常快的,我们将 sdk 下载地址域名指向这个ip,由于服务器就在北京,所以下载速度是非常可观的,可以看下我修改后的下载速度:
基本上是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.com
的https
证书可能不正确,通过搜索得知,我们可以将
Android SDK 下载默认使用的https
协议改为未加密的http
协议,这样便能避免此异常的产生。
将 SDK 下载地址的https
协议改为http
协议的步骤如下:
- 在Eclipse菜单中选择
Window —— Android SDK Manager
即可打开Android SDK 下载窗口;
- 在Android SDK下载窗口选择
Preferences...
菜单项打开设置窗口;
- 最后在设置窗口勾选
Others
中的第一项Force
https://... sources to be fetched using
http...
即完成操作。
完成修改之后,我们关闭设置窗口就可以正常且快速的下载 Android SDK了。
参考链接:
http://jingyan.baidu.com/article/1974b289ad9ad3f4b1f7749a.html
http://www.netfoucs.com/article/wsq2002/75368.html
分享到:
相关推荐
Error:Cause: hostname in certificate didn’t match: <maven> != <*.motili.com> OR <*.motili.com> OR <motili> build.gradle部分脚本(fabric插件自动生成的): buildscript { repositories { maven {...
配置tornado的必备脚本,远程服务器下载不容易,所以放在这里,可以安装在win7下,支持python2.7
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
Linux操作系统的hostname是一个kernel变量,可以使用如下两种方式查看 # hostname 和 # cat /proc/sys/kernel/hostname 临时修改hostname 通过hostname命令可以设置系统的hostname # hostname newname new...
0x01 下载sdktools cd /opt mkdir androidSdk wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip unzip sdk-tools-linux-3859397.zip 0x02 配置命令 打开 /opt/profile 添加sdk命令如下...
解决linux找不到hostname的处理文档UnknownHostException
在开发vue时想将vue转换为apk安装包 先卸载掉自带的jdk、推荐使用1.8的jdk cd /usr/local/src/ mkdir sdkMy ...export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL export PATH=$PATH:/u
下载 API 和 Documentation (即为 sdk) 推荐使用 vscode,安装插件 open-in-browser,开放端口 5500; ## 更改 API 匹配路径 更改文件 : - 1. arcgis_js_api\library\4.10\dojo\dojo.js - 2. arcgis_js_api\...
hostname命令用于显示和设置系统的主机名称。环境变量HOSTNAME也保存了当前的主机名。 在使用hostname命令设置主机名后,系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机名。如果需要永久修改主机名...
ossTemp := TAliOssFileSystem.Create(OSS_ACCESS_ID, OSS_ASSCESS_KEY, OSS_HOSTNAME); ossTemp.ChangeVolumn(sBucketName); ossTemp.UploadFile(sLocalFileName, sOSSFileName); ossTemp.Free; 原版说明: =====...
网络ip扫描工具,根据hostname也可以
hostname是个很不错的改网络环境工具
自己写的可以将本机机器名、ip、mac信息上传至指定ftp的程序 210K
VC 获取计算机名和IP地址,基于MFC的,是一...具体来说是使用gethostname获取主机名(计算机名),使用GetIPAddress来获取IP地址的字符串,然后再经过字符转换成IP格式,这个例子挺简单,对研究MFC的朋友,或许有帮助。
用于IP与HOSTNAME的java awt编程
gethostname.rs 所有平台的 。 use gethostname :: gethostname; println! ( "Hostname: {:?}" , gethostname ()); 现有技术 还提供gethostname() ,但从2019年起将。此板条箱改善了。 执照 版权所有2019 ...
离线安装包,亲测可用
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用