Could not install Gradle distribution——Gradle超时问题汇总(全网独发)

1,152 阅读2分钟

最近在创建一个新的Android项目时,突然遇到一个棘手的问题——Gradle下载超时报错:

Reason: java.net.SocketTimeoutException: Connect timed out

导致这个问题的原因有很多,过程中在网上翻阅了大量资料,尝试了许多不同的解决方法。都不得其解。 网上大多数方法都是那几样,如果大家试过仍然不行,那么本文应该能够帮到你。

按照流程下来必然能够解决。 希望这篇文章能够为你节省时间,快速恢复开发进程!

问题现象

当你的Gradlesync之后出现如下报错

Screenshot 2025-02-24 at 18.26.45.png

从字面意思能看出,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选项框,如下:

image.png

可以看到框内填写的是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之后出现如下界面:

Screenshot 2025-02-24 at 17.53.00.png

出现下载进度之后,说明已经能够下载,接下来静候下载完成即可。