You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio Iguana集成AdMob时Manifest合并错误求助

解决AdMob依赖Manifest合并冲突(Android Studio Iguana)

方案1:统一Google Play服务依赖版本

Google Play服务各组件版本不一致是这类冲突的核心原因,尤其是Measurement和Ads组件。推荐使用Google官方的BOM(物料清单)来自动管理版本一致性:

  • 在模块的build.gradle中,先引入Play服务BOM,再声明具体组件(无需指定版本号):
    dependencies {
        // 引入BOM统一管理所有Play服务组件版本
        implementation platform('com.google.android.gms:play-services-bom:21.6.2')
        // 声明AdMob和Measurement组件,版本由BOM自动控制
        implementation 'com.google.android.gms:play-services-ads-lite'
        implementation 'com.google.android.gms:play-services-measurement-api'
    }
    
    这种方式能彻底避免不同组件版本带来的Manifest属性冲突。

方案2:正确配置tools:replace并处理后续问题

如果之前添加tools:replace后出现其他错误,大概率是配置位置或资源缺失导致:

  1. 确保AndroidManifest.xml根标签已声明tools命名空间:
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        package="com.your.app.package">
    
  2. 在<application>标签内添加覆盖冲突属性的配置,明确指定要保留的资源:
    <application ...>
        <property
            android:name="android.adservices.AD_SERVICES_CONFIG"
            android:resource="@xml/gma_ad_services_config"
            tools:replace="android:resource" />
        <!-- 其他应用配置 -->
    </application>
    
  3. 若出现资源找不到的错误,在项目res/xml目录下创建对应的配置文件,示例内容:
    <?xml version="1.0" encoding="utf-8"?>
    <ad-services-config>
        <!-- 可根据需求添加广告相关配置,比如测试广告ID等 -->
    </ad-services-config>
    

方案3:排除冲突的依赖模块(谨慎使用)

如果确认应用不需要Measurement组件的功能,可以在引入Ads Lite时排除冲突的Measurement模块:

dependencies {
    implementation('com.google.android.gms:play-services-ads-lite:23.0.0') {
        exclude group: 'com.google.android.gms', module: 'play-services-measurement-api'
    }
}

注意:此方式可能影响依赖功能完整性,仅在明确不需要Measurement相关功能时使用。


内容的提问来源于stack exchange,提问作者Manees

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 20:55:08