运行Flutter应用时遇Gradle依赖解析错误求助
错误详情
运行Flutter应用时出现以下Gradle构建错误:
Execution failed for task ':app:checkDebugAarMetadata'. > Could not resolve all files for configuration ':app:debugRuntimeClasspath'. > Could not resolve io.flutter:flutter_embedding_debug:1.0.0-45f6e009110df4f34ec2cf99f63cf73b71b7a420. Required by: project :app >Could not get resource 'https://storage.flutter-io.c/download.flutter.io/io/flutter/x86_debug/1.0.0-45f6e009110df4f34ec2cf99f63cf73b71b7a420/x86_debug-1.0.0-45f6e009110df4f34ec2cf99f63cf73b71b7a420.pom'. > Could not HEAD 'https://storage.flutter-io.c/download.flutter.io/io/flutter/x86_debug/1.0.0-45f6e009110df4f34ec2cf99f63cf73b71b7a420/x86_debug-1.0.0-45f6e009110df4f34ec2cf99f63cf73b71b7a420.pom'. > storage.flutter-io.c
同时出现x86_64架构的类似错误:
Could not resolve io.flutter:x86_64_debug:1.0.0-45f6e009110df4f34ec2cf99f63cf73b71b7a420.
Required by:
project :app
Could not resolve io.flutter:x86_64_debug:1.0.0-45f6e009110df4f34ec2cf99f63cf73b71b7a420.
Could not get resource 'https://storage.flutter-io.c/download.flutter.io/io/flutter/x86_64_debug/1.0.0-45f6e009110df4f34ec2cf99f63cf73b71b7a420/x86_64_debug-1.0.0-45f6e009110df4f34ec2cf99f63cf73b71b7a420.pom'.
Could not HEAD 'https://storage.flutter-io.c/download.flutter.io/io/flutter/x86_64_debug/1.0.0-45f6e009110df4f34ec2cf99f63cf73b71b7a420/x86_64_debug-1.0.0-45f6e009110df4f34ec2cf99f63cf73b71b7a420.pom'.
storage.flutter-io.c
问题原因
错误日志中的storage.flutter-io.c是域名拼写错误,正确的Flutter国内镜像地址应为storage.flutter-io.cn,或者官方源download.flutter.io。该错误导致Gradle无法正确访问Flutter依赖仓库,从而无法下载所需的AAR构件。
解决步骤
1. 修复Flutter镜像环境变量
- 检查系统或终端的环境变量配置:
- 查看
FLUTTER_STORAGE_BASE_URL和PUB_HOSTED_URL是否设置错误 - 将错误的
storage.flutter-io.c替换为正确的地址:- 国内镜像:
FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn - 官方源:删除该环境变量,使用默认的
https://download.flutter.io
- 国内镜像:
- 查看
- 配置完成后重启终端,确保环境变量生效
2. 修正项目Gradle仓库配置
打开项目中的android/build.gradle文件,检查repositories节点,确保包含正确的Flutter Maven仓库:
allprojects { repositories { google() mavenCentral() // 替换为正确的Flutter仓库地址 maven { url 'https://storage.flutter-io.cn/download.flutter.io' } // 或使用官方源 // maven { url 'https://download.flutter.io' } } }
3. 清理缓存并重新构建
执行以下命令清理缓存并重新获取依赖:
flutter clean flutter pub get flutter run
4. 检查代理设置(如有)
- 如果使用了HTTP/HTTPS代理,确保代理配置未拦截Flutter仓库的请求
- 尝试临时关闭代理后重新构建,验证是否是代理导致的访问问题
内容的提问来源于stack exchange,提问作者Ahmed Magdy

