添加image_picker依赖后Gradle构建失败,报502 Bad Gateway错误
问题概述
在pubspec.yaml中添加image_picker: ^0.6.5+3依赖后,Flutter项目Gradle构建失败,核心错误是无法解析com.google.android.gms:play-services-measurement-base:[21.1.1],原因是请求https://google.bintray.com/exoplayer/...返回502错误——该仓库已被Google废弃停止服务。
解决方案
1. 替换废弃的Maven仓库
JCenter和Google Bintray仓库已停止维护,需将项目根目录build.gradle中的jcenter()替换为mavenCentral(),并确保google()仓库优先级最高:
修改后的项目根目录build.gradle:
buildscript { ext.kotlin_version = '1.6.10' repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.0.4' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath 'com.google.gms:google-services:4.3.15' } } allprojects { repositories { google() mavenCentral() } } rootProject.buildDir = '../build' subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" } subprojects { project.evaluationDependsOn(':app') } task clean(type: Delete) { delete rootProject.buildDir }
2. 强制统一Google Play Services版本
在app模块的build.gradle中添加版本锁定规则,避免依赖版本冲突:
android { // 保留原有配置 } configurations.all { resolutionStrategy { force 'com.google.android.gms:play-services-measurement-base:21.1.0' } } dependencies { // 保留原有依赖 }
3. 更新Flutter依赖版本(可选但推荐)
旧版本的Firebase依赖与新引入的image_picker可能存在依赖冲突,建议升级到兼容的稳定版本:
修改pubspec.yaml的dependencies部分:
dependencies: flutter: sdk: flutter cloud_firestore: ^2.5.4 firebase_auth: ^3.3.10 image_picker: ^0.8.5+3 cupertino_icons: ^1.0.2
4. 清理缓存并重新构建
执行以下命令彻底清理缓存后重新构建:
flutter clean flutter pub get cd android && ./gradlew clean cd .. && flutter run
内容的提问来源于stack exchange,提问作者Joel Castro
相关产品推荐
相关产品推荐

