执行ionic cordova run android时出现Gradle依赖解析超时错误
解决Ionic Cordova Android构建时Gradle依赖解析超时问题
从你提供的更新日志来看,问题核心很明确——网络连接超时导致Gradle无法从jcenter仓库拉取com.android.tools.build:gradle:3.0.0依赖包,具体是访问repo.jfrog.org时出现了Read timed out错误。之前重启Gradle守护进程的方法没解决问题,咱们试试下面这几个针对性的方案:
问题复现核心日志
执行gradle clean时的关键错误信息:
FAILURE: Build failed with an exception. * What went wrong: A problem occurred configuring root project 'android'. > Could not resolve all artifacts for configuration ':classpath'. > Could not resolve com.android.tools.build:gradle:3.0.0. > Could not get resource 'https://jcenter.bintray.com/com/android/tools/build/gradle/3.0.0/gradle-3.0.0.pom'. > Could not HEAD 'https://jcenter.bintray.com/com/android/tools/build/gradle/3.0.0/gradle-3.0.0.pom'. > Connect to repo.jfrog.org:443 [repo.jfrog.org/34.233.3.28, repo.jfrog.org/52.86.234.14] failed: Read timed out
解决方案
1. 切换为国内镜像仓库(最推荐)
jcenter的国内访问稳定性较差,替换为阿里云镜像能大幅提升依赖拉取成功率:
- 打开项目路径下的
platforms/android/build.gradle文件 - 找到
repositories代码块,把原有的jcenter()替换成阿里云的镜像源:
repositories { maven { url 'https://maven.aliyun.com/repository/jcenter' } maven { url 'https://maven.aliyun.com/repository/google' } mavenCentral() }
- 同时检查
platforms/android/CordovaLib/build.gradle文件,做同样的镜像替换操作
2. 延长Gradle网络超时时间
如果你的网络本身偏慢,可以通过配置延长依赖拉取的超时时间:
- 在项目根目录下创建或修改
gradle.properties文件,添加以下配置:
# 堆内存分配(可选,提升Gradle运行效率) org.gradle.jvmargs=-Xmx1536m # 开启守护进程 org.gradle.daemon=true # 延长网络超时至5分钟 org.gradle.internal.http.connectionTimeout=300000 org.gradle.internal.http.socketTimeout=300000
3. 手动下载依赖到本地仓库
如果镜像方案也不行,可以手动下载依赖包放到本地maven仓库:
- 访问
https://jcenter.bintray.com/com/android/tools/build/gradle/3.0.0/,下载gradle-3.0.0.pom和对应的gradle-3.0.0.jar文件 - 将下载的文件放到本地maven仓库的对应路径:
C:\Users\<你的用户名>\.m2\repository\com\android\tools\build\gradle\3.0.0\ - 之后再执行
gradle clean和ionic cordova build android命令
4. 检查并配置代理(如果处于代理环境)
如果你在公司或使用代理网络,需要给Gradle配置正确的代理信息:
- 在
gradle.properties中添加代理配置(替换成你的代理信息):
systemProp.http.proxyHost=你的代理地址 systemProp.http.proxyPort=代理端口 systemProp.https.proxyHost=你的代理地址 systemProp.https.proxyPort=代理端口 # 如果代理需要账号密码,添加下面两行 systemProp.http.proxyUser=代理用户名 systemProp.http.proxyPassword=代理密码
验证步骤
修改完成后,先进入platforms/android目录执行gradle clean,如果能成功完成清理,再回到项目根目录运行ionic cordova build android即可。
内容的提问来源于stack exchange,提问作者satya chowdary
相关产品推荐
相关产品推荐

