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

Flutter Android构建报错:Manifest合并失败解决方案咨询

解决Flutter Android构建中的Manifest合并冲突问题

针对你遇到的AD_SERVICES_CONFIG资源冲突问题,以下是几种可行的解决方法:


方法1:正确配置AndroidManifest.xml的tools替换属性

你之前出现解析错误大概率是因为未在Manifest中声明tools命名空间。按以下步骤修改:

  1. 在根<manifest>标签中添加tools命名空间:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="你的应用包名">
  1. 在<application>标签内添加冲突的<property>元素,并加上tools:replace属性:
<application ...>
    <!-- 保留原有内容 -->
    <property
        android:name="android.adservices.AD_SERVICES_CONFIG"
        android:resource="@xml/gma_ad_services_config"
        tools:replace="android:resource" />
</application>

这样会强制使用你指定的gma_ad_services_config资源,覆盖来自其他依赖的冲突配置。


方法2:统一Google Play Services库版本

版本不一致是这类冲突的常见原因,你可以强制所有相关库使用同一版本:

在项目级的android/build.gradle中添加版本解析策略:

allprojects {
    configurations.all {
        resolutionStrategy {
            force 'com.google.android.gms:play-services-measurement-api:23.0.0'
            force 'com.google.android.gms:play-services-ads-lite:23.0.0'
        }
    }
}

如果使用AGP 8.0+的版本目录(version catalog),则在android/settings.gradle中添加:

dependencyResolutionManagement {
    resolutionStrategy {
        force 'com.google.android.gms:play-services-measurement-api:23.0.0'
        force 'com.google.android.gms:play-services-ads-lite:23.0.0'
    }
}

方法3:排除冲突的依赖模块

如果不需要play-services-measurement-api,可以直接从依赖中排除它:

在android/app/build.gradle的dependencies块中添加排除规则:

dependencies {
    implementation 'com.google.android.gms:play-services-ads:23.0.0'
    // 排除google_mobile_ads带来的冲突模块
    implementation('com.google.android.gms:play-services-ads-lite:23.0.0') {
        exclude group: 'com.google.android.gms', module: 'play-services-measurement-api'
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 00:12:06