Flutter在Android模拟器启动项目时无法获取依赖求助
Flutter项目Android构建依赖解析失败的解决方法
核心问题分析
报错根源是Java证书信任链缺失,导致无法安全访问Google Maven仓库下载依赖,同时可能伴随网络代理、Gradle配置问题。
解决方案
1. 导入Google Maven证书到Java密钥库
- 打开浏览器访问
https://dl.google.com/dl/android/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.7.10/kotlin-stdlib-1.7.10.pom - 点击地址栏锁图标,导出证书(保存为
.crt格式) - 找到Android Studio的JDK路径:打开Android Studio →
File > Project Structure > SDK Location,复制JDK location(默认路径:/Applications/Android Studio.app/Contents/jbr/Contents/Home) - 终端执行导入命令(替换证书路径和JDK路径):
密钥库默认密码为sudo keytool -importcert -file /你的证书保存路径/google.crt -keystore /Applications/Android\ Studio.app/Contents/jbr/Contents/Home/lib/security/cacerts -alias google-maven-certchangeit,输入后确认导入即可。
2. 替换为国内Maven镜像仓库
修改项目根目录下的build.gradle文件(非app模块的build.gradle):
buildscript { ext.kotlin_version = '1.7.10' repositories { maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } maven { url 'https://maven.aliyun.com/nexus/content/groups/public' } mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.4.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } allprojects { repositories { maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } maven { url 'https://maven.aliyun.com/nexus/content/groups/public' } mavenCentral() } }
3. 关闭不必要的代理
- Android Studio内:
File > Settings > Appearance & Behavior > System Settings > HTTP Proxy,选择No proxy并应用 - 终端执行命令清除系统代理:
unset http_proxy unset https_proxy
4. 更新Gradle与Kotlin版本
- 修改
android/gradle/wrapper/gradle-wrapper.properties中的Gradle版本(示例为7.6兼容版):distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-all.zip - 修改项目根目录
build.gradle中的Kotlin版本为兼容最新版(示例为1.8.22):ext.kotlin_version = '1.8.22'
完成以上操作后,执行flutter clean清理缓存,再重新运行flutter run即可。
内容的提问来源于stack exchange,提问作者Goofyrocks
相关产品推荐
相关产品推荐

