Flutter集成MoEngage推送通知时遭遇403 Forbidden错误,无法解析com.moengage:moe-android-sdk:4.0.2依赖
解决Flutter集成MoEngage时的403 Forbidden错误
问题原因
你遇到的403错误核心原因是Bintray服务已停止运营,Gradle尝试从https://google.bintray.com/exoplayer拉取MoEngage SDK的依赖元数据,但这个仓库已经无法正常访问,因此返回了403 Forbidden状态码。
解决方案
按照以下步骤逐步修复:
更新项目级
build.gradle的仓库配置
打开项目根目录下的android/build.gradle,确保repositories块中包含MoEngage官方仓库或Maven Central,同时移除所有Bintray相关的仓库地址:allprojects { repositories { google() mavenCentral() // 添加MoEngage官方专属仓库 maven { url "https://maven.moengage.com/releases/" } } }升级MoEngage SDK版本
你当前使用的4.0.2版本非常老旧,且该版本仅发布在已废弃的Bintray仓库中。建议升级到最新稳定版的MoEngage Android SDK,在App级的android/app/build.gradle中更新依赖:dependencies { // 替换为最新稳定版,可参考MoEngage官方文档确认版本号 implementation 'com.moengage:moe-android-sdk:12.0.0' // 其他原有依赖保持不变... }清理Gradle缓存并重新构建
旧的缓存可能还保留着指向Bintray的无效地址,执行以下命令清理缓存并重新构建项目:flutter clean flutter pub get cd android && ./gradlew clean build --refresh-dependencies cd .. && flutter run
额外注意事项
- 如果项目中还有其他依赖依赖于Bintray仓库,需要同步更新这些依赖的仓库配置或升级依赖版本,避免出现类似的403错误。
- 若升级SDK版本后出现Gradle兼容问题,建议将Gradle版本升级到7.0及以上,适配最新的依赖规范。
内容的提问来源于stack exchange,提问作者Lalit Rawat
相关产品推荐
相关产品推荐

