最近在创建一个新的Android项目时,突然遇到一个棘手的问题——Gradle
下载超时报错:
Reason: java.net.SocketTimeoutException: Connect timed out
导致这个问题的原因有很多,过程中在网上翻阅了大量资料,尝试了许多不同的解决方法。都不得其解。 网上大多数方法都是那几样,如果大家试过仍然不行,那么本文应该能够帮到你。
按照流程下来必然能够解决。 希望这篇文章能够为你节省时间,快速恢复开发进程!
问题现象
当你的Gradle
在sync
之后出现如下报错
从字面意思能看出,Gradle安装失败,原因是连接超时,它会阻塞所有的开发工作。然而原因各不相同,我们按照以下流程依次排查
问题排查
下面根据提示我们逐步完成问题筛查
网络原因
既然是超时,首先我们验证网络是否正常。点击上图中的蓝色链接,如果浏览器不能下载,那么说明网络有问题,可以替换成镜像代理,试试。方法如下:
替换境像
1.打开项目的 build.gradle 文件
需要找到并打开项目根目录下的 build.gradle 文件。
2.添加阿里镜像到 repositories
在 build.gradle 文件中,我们需要找到 repositories 节点,并在其中添加阿里镜像URL。
3.同步 Gradle
修改完成后,点击 “Sync Now” 按钮,确保 Gradle 文件的更改被生效。
4.测试下载依赖
此时在此触发下载,观察是否能下载成功。 如果依然不能成功,说明确实是网络问题,需要排查本地网络问题。 但如果可以下载到zip文件,说明网络正常,那么继续下面的步骤
修改GradleHome(有效)
大多数情况下此步骤都能解决。
打开设置页面,依次点击:Build
->Build Tools
->Gradle
,找到Gradle user home
选项框,如下:
可以看到框内填写的是gradle zip文件
的绝对路径,其实这里要填的是.gralde
的根目录。查看gradle-wrapper.properties
文件:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
可知zipStoreBPath=wrapper/dists
,也就是我们只需要去掉wrapper/dists
及之后的路径,这样就可以得到.gralde
的根目录。
所以我们只需要把将它改成:
/Users/chaodikong/.gradle
即可。
再次sync
尝试sync之后出现如下界面:
出现下载进度之后,说明已经能够下载,接下来静候下载完成即可。