Flutter引入flutter_contacts后Gradle无法下载依赖包求助
Flutter添加flutter_contacts后Gradle无法下载依赖包的解决方案
问题重现
在pubspec.yaml中添加flutter_contacts依赖后,执行构建时Gradle报错无法下载gradle-7.4.1.jar等依赖包,虽然网络能ping通dl.google.com、浏览器可访问对应下载链接,但Android Studio/终端无法完成下载。已尝试添加Maven仓库、修改DNS、VPN/代理、更换网络等方法无效。
可行解决方案
1. 清理并重新配置Gradle代理
检查项目根目录和用户目录下的gradle.properties文件,确保代理配置正确(若使用VPN/代理),或清除残留的无效代理:
- 打开
[项目根目录]/android/gradle.properties,删除或修改以下代理相关配置(如果存在):
systemProp.http.proxyHost=xxx systemProp.http.proxyPort=xxx systemProp.https.proxyHost=xxx systemProp.https.proxyPort=xxx
- 同时检查用户目录下的
~/.gradle/gradle.properties(Windows为C:\Users\[你的用户名]\.gradle\gradle.properties),做相同清理。 - 执行
flutter clean,然后重新构建项目。
2. 替换Gradle仓库为国内镜像
修改项目的android/build.gradle文件,将Google和Jcenter仓库替换为国内镜像,提升下载稳定性:
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' } } dependencies { classpath "com.android.tools.build:gradle:7.4.1" 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' } } }
修改后执行flutter pub get和重新构建。
3. 手动下载依赖包放入本地缓存
直接从浏览器下载报错中提及的依赖包,放入Gradle本地缓存目录:
- 比如下载
gradle-7.4.1.jar后,放入路径:~/.gradle/caches/modules-2/files-2.1/com.android.tools.build/gradle/7.4.1/[对应哈希值文件夹]/(Windows为C:\Users\[你的用户名]\.gradle\caches\modules-2\files-2.1\com.android.tools.build\gradle\7.4.1\),哈希值可通过查看缓存目录下的文件夹名确定。 - 所有缺失的jar包都按此方式放入对应路径后,重新构建项目。
4. 更换兼容的flutter_contacts版本
检查当前Flutter版本与flutter_contacts版本的兼容性,尝试降级或升级flutter_contacts:
- 打开pubspec.yaml,修改flutter_contacts的版本,比如使用较稳定的版本:
dependencies: flutter: sdk: flutter flutter_contacts: ^1.1.0 # 替换为与当前Flutter兼容的版本
执行flutter pub get后重新构建。
内容的提问来源于stack exchange,提问作者Mahsein
相关产品推荐
相关产品推荐

