Android集成IronSource适配器时Gradle报mediationsdk:7.2.2.1解析失败
问题原因
这个403报错和账号权限、本地网络权限没有关系,核心是Gradle去了已经废弃的旧仓库地址拉取IronSource SDK。https://s3.amazonaws.com/moat-sdk-builds是早期Moat SDK的托管地址,早就停止服务,IronSource 7.x版本的SDK根本不在这个地址托管,请求过去自然会返回403 Forbidden。
解决步骤
- 移除废弃仓库配置
打开项目级build.gradle文件,如果是新版Android Studio就打开根目录的settings.gradle,找到repositories配置块,把指向https://s3.amazonaws.com/moat-sdk-builds的maven仓库配置整段删除,避免Gradle优先匹配到错误地址。 - 配置正确的IronSource官方maven源
在同一个repositories配置块中,添加IronSource官方的maven仓库地址:
配置位置放在maven { url 'https://android-sdk.is.com/' }google()、mavenCentral()之后即可,不要放在jcenter等已经停止服务的仓库配置后面。 - 核对依赖版本匹配关系
你当前引入的com.applovin.mediation:ironsource-adapter:7.2.2.1.0对应依赖的IronSource SDK版本就是7.2.2.1,依赖声明本身没有版本号错误,不需要修改这几行implementation配置。 - 清理缓存重新同步
先清除之前拉取失败产生的无效缓存:- 在项目根目录执行命令
./gradlew cleanBuildCache - 在Android Studio中依次点击File -> Invalidate Caches...,勾选清除文件系统缓存选项,重启IDE后重新触发Gradle同步。
- 在项目根目录执行命令
注意:国内网络环境下直连IronSource官方maven源即可正常拉取依赖,不需要额外配置代理,也不要使用来源不明的第三方镜像源替换官方地址,避免引入被篡改的SDK包。
结果校验
Gradle同步完成后,查看项目的External Libraries列表,如果能看到com.ironsource.sdk:mediationsdk:7.2.2.1正常加载,编译Debug运行包没有再报依赖解析错误,就说明问题已经修复。
内容的提问来源于stack exchange,提问作者sejn
相关产品推荐
相关产品推荐

