Flutter更新后Android应用无法运行,根项目android配置出现gradle依赖解析错误
问题原因
报错核心为PKIX路径构建失败,本质是构建时JVM无法验证dl.google.com的SSL证书,导致无法拉取Gradle插件依赖。
解决方案
按优先级尝试以下操作:
- 方案1:替换国内Maven镜像(国内用户首选)
修改项目android/build.gradle文件,将buildscript和allprojects下的repositories配置替换为阿里云镜像:
buildscript { repositories { // 注释掉原有google()、jcenter() maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } maven { url 'https://maven.aliyun.com/repository/public' } } dependencies { // 原有依赖保持不变,比如classpath 'com.android.tools.build:gradle:4.1.0' 无需修改 } } allprojects { repositories { // 同样替换原有仓库配置 maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } maven { url 'https://maven.aliyun.com/repository/public' } } }
修改后重新执行构建即可。
- 方案2:手动导入SSL证书到JDK信任库
如果替换镜像后仍报错,需要手动将dl.google.com的证书导入JDK:
- 用Chrome/Edge浏览器访问
https://dl.google.com,点击地址栏的锁图标 → 证书 → 详细信息 → 导出为Base64编码的X.509证书,保存为dlgoogle.cer - 执行导入命令(替换为你自己的JDK路径、证书路径):
keytool -import -alias dlgoogle -file C:\Users\xxx\Downloads\dlgoogle.cer -keystore "C:\Program Files\Java\jdk1.8.0_xxx\jre\lib\security\cacerts" - 输入信任库密码,默认密码为
changeit,提示是否信任证书时输入y确认即可。
方案3:检查Gradle代理配置
打开用户目录下的.gradle/gradle.properties文件,以及项目内的android/gradle.properties文件,注释掉所有以systemProp.http.proxy、systemProp.https.proxy开头的代理配置,避免失效代理影响访问。方案4:调整Gradle版本适配
打开android/gradle/wrapper/gradle-wrapper.properties,确认AGP版本对应的Gradle版本兼容,AGP 4.1.0对应的Gradle版本要求为6.5及以上,可修改为:distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
内容的提问来源于stack exchange,提问作者tanzeem hussain
相关产品推荐
相关产品推荐

