关于Connect to dl.google.com failed:Connection timed out 的总结

6,005 阅读2分钟

1、问题分析

Android studio 启动时,build工程,首先获取根build.gradle中配置的androidgradle插件版本:
1、如果本地.gradle目录中已缓存当前的版本,则不受影响,gradle插件版本校验成功,会顺利的使用当前gralde版本
编译工程代码
2、如果本地.gradle目录中未缓存配置的版本,则会先远程下载指定的gradle版本,Android studio 中默认配置了下
载路径dl.google.com,该域名指定一个IP,正常连接通畅的情况是,gradle版本下载成功;但是也会遇到
connect to dl.google.com失败的情况,无法获取到指定gradle版本,build构建也会失败,android studio 控制台
报错如下图:

windows系统,cmd 进入命令行工具,ping dl.google.com,结果如下

访问超时说明连接失败的确是因为gradle远程下载的连接不畅通

2、解决思路

1、检查本地.gradle 目录已有的gradle版本,在项目的根build.gradle文件中更改gradle 版本就可以了
2、通过windows系统 C:\Windows\System32\drivers\etc目录中的hosts文件为dl.google.com域名配置指定IP,
如下

那么如何知道dl.goolde.com 域名映射的IP主机分布信息呢?

很简单,访问站长工具http://ping.chinaz.com/(类似的工具,网上有很多),打开网页对dl.google.com 进行ping检测,如下图:

可以清晰的看到域名映射的主机分布情况,挑一个响应时间比较快的IP,在命令行中ping一下,如果ping正常,就可以在hosts 文件中配置,然后Android studio 重新Sync Project with Gradle Files 就可顺利下载指定的gradle 版本了。

3、 总结

关于Connect fialed连接失败的问题,解决思路就是先确认网路连接是否畅通,命令行ping可以解决一切花里胡哨。确认网络
连接失败,便可以通过域名找到有效的IP,在hosts 文件中配置,问题便可顺利解决了。