Flutter调试时Gradle下载Maven元数据返回502 Bad Gateway如何解决
问题根因
该报错核心原因是google.bintray.com域名已正式停止服务,对应仓库资源不可访问,Gradle拉取com.transistorsoft.tsbackgroundfetch以及ExoPlayer相关依赖时访问失效地址返回502错误,和本地Gradle版本、代码改动无关联。
排查解决步骤
- 替换项目全局Maven仓库源
打开项目根目录下的android/build.gradle文件,修改buildscript和allprojects下的两个repositories配置块,移除所有google.bintray.com相关的仓库配置,优先添加国内可用镜像源兜底,参考配置如下: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' } // 官方源作为兜底 google() mavenCentral() } - 适配
tsbackgroundfetch依赖配置
若项目直接依赖tsbackgroundfetch插件,打开android/app/build.gradle将该依赖升级到最新稳定版,旧版本默认会指向已失效的Bintray地址。若该依赖是其他三方插件间接引入的,可在android/build.gradle的allprojects块中添加强制版本配置:allprojects { configurations.all { resolutionStrategy { // 替换为当前tsbackgroundfetch最新的稳定版本号即可 force 'com.transistorsoft:tsbackgroundfetch:4.2.2' } } } - 清理缓存重新构建
依次执行以下命令清理本地旧缓存后重新运行项目:flutter clean cd android && ./gradlew clean - 网络适配检查
若上述步骤操作后仍报错,可检查当前网络是否存在公网访问限制,切换至手机热点等无限制网络后重试即可。
内容的提问来源于stack exchange,提问作者Ganesh Bhat
相关产品推荐
相关产品推荐

