集成Yandex Ad SDK时依赖缺失问题求助
问题分析与解决方案
错误含义
这些构建错误表示Gradle无法找到Yandex广告 mediation SDK 依赖的第三方广告平台库(比如com.appnext.sdk:ads:2.7.1.473、com.chartboost:chartboost-sdk:9.3.1等)。当前配置的所有Maven仓库里都没有这些库,导致依赖解析失败。
问题根源
Yandex的mobileads-mediation是聚合依赖包,内置了多个广告合作平台的SDK集成逻辑,但你仅配置了官方文档提到的部分仓库,缺少这些第三方平台对应的Maven仓库地址。
修复方案
方案1:补充缺失的Maven仓库
在settings.gradle的dependencyResolutionManagement -> repositories节点中,添加缺失平台对应的仓库:
// Appnext 专属仓库 maven { url "https://dl.appnext.com/" } // Chartboost 专属仓库 maven { url "https://dl.chartboost.com/" } // 若后续出现其他平台缺失,可补充对应仓库,比如: // maven { url "https://maven.unity3d.com" } // maven { url "https://adcolony.bintray.com/AdColony" }
更新后的仓库配置示例:
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() maven { url "https://android-sdk.is.com/" } maven { url "https://artifact.bytedance.com/repository/pangle" } maven { url "https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea"} maven { url "https://sdk.tapjoy.com/"} // 新增缺失的第三方平台仓库 maven { url "https://dl.appnext.com/" } maven { url "https://dl.chartboost.com/" } } }
方案2:排除不需要的Mediation平台
如果不需要全部广告合作平台,可以通过Gradle的依赖排除功能,移除不需要的平台依赖,避免解析不存在的库。比如排除Appnext和Chartboost:
implementation('com.yandex.android:mobileads-mediation:6.3.0.0') { exclude group: 'com.yandex.ads.mediation', module: 'mobileads-appnext' exclude group: 'com.yandex.ads.mediation', module: 'mobileads-chartboost' }
方案3:更换Mediation版本
部分旧版本的Yandex mediation可能存在依赖仓库未同步的问题,可尝试升级到最新稳定版(需确认官方文档的最新版本号),替换build.gradle中的依赖:
implementation 'com.yandex.android:mobileads-mediation:[最新稳定版号]'
内容的提问来源于stack exchange,提问作者Alexey Starinsky
相关产品推荐
相关产品推荐

