You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IntelliJ使用Gradle解析依赖时出现SocketTimeoutException求助

Gradle依赖解析SocketTimeoutException问题排查方案

问题核心

开放网络环境下,IntelliJ/Android Studio使用Gradle 7.4.2拉取google()仓库依赖时触发SocketTimeoutException,浏览器可正常下载对应文件,已尝试增加Gradle超时时间但无效。

排查与解决方案

1. 细化Gradle网络超时配置

在项目根目录的gradle.properties中添加全面网络参数,确保无残留代理配置:

# 延长连接和读取超时至5分钟
org.gradle.internal.http.connectionTimeout=300000
org.gradle.internal.http.socketTimeout=300000

# 明确禁用代理
systemProp.http.proxyHost=
systemProp.http.proxyPort=
systemProp.https.proxyHost=
systemProp.https.proxyPort=

2. 切换Gradle HTTP客户端为OkHttp

Gradle默认客户端可能存在网络适配问题,切换到OkHttp可改善连接稳定性:
在gradle.properties中添加:

org.gradle.jvmargs=-Dorg.gradle.internal.http.client=okhttp

3. 手动导入依赖到本地仓库

利用浏览器可下载的特性,手动获取依赖文件并放入本地Maven仓库:

  • 下载对应pom文件:
    • com.android.tools.build:gradle:7.1.2的pom文件
    • org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.10的pom文件
  • 将文件放入本地仓库对应路径(如~/.m2/repository/com/android/tools/build/gradle/7.1.2/),同步项目即可读取本地文件。

4. 检查IDE网络设置

确认IDE无隐藏代理配置:

  1. 打开File > Settings > Appearance & Behavior > System Settings > HTTP Proxy
  2. 选择「No proxy」,确保代理地址为空,取消不必要的自动代理检测

5. 清理Gradle缓存并重启Daemon

执行以下命令清理缓存并重启Gradle后台进程:

./gradlew cleanBuildCache --stop

手动删除~/.gradle/caches目录下的所有文件后,重新同步项目。

6. 排查网络DNS与路由

  • 切换DNS服务器至公共DNS(如8.8.8.8),刷新本地DNS缓存
  • 使用ping dl.google.com测试连通性,traceroute dl.google.com检查路由是否存在异常节点

可能原因分析

  • Gradle默认HTTP客户端的SSL握手或连接策略与浏览器存在差异,导致特定网络环境下超时
  • 本地Gradle缓存损坏或残留代理配置干扰连接
  • DNS解析异常导致Gradle无法正确定位仓库服务器

内容的提问来源于stack exchange,提问作者tyro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 03:15:50