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

Flutter集成google_mobile_ads SDK后出现AndroidManifest冲突错误

解决Flutter集成google_mobile_ads时的Manifest冲突错误

问题原因

两个Google服务依赖包(com.google.android.gms:play-services-ads-lite:23.0.0和com.google.android.gms:play-services-measurement-api:21.5.1)合并AndroidManifest时,都声明了android.adservices.AD_SERVICES_CONFIG的配置资源,导致冲突报错。

解决方法

直接在你的android/app/src/main/AndroidManifest.xml的<application>标签内部添加冲突的<property>元素,并通过tools:replace指定覆盖规则,修改后的完整代码如下:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="<package-name>">
   <uses-permission android:name="android.permission.INTERNET"/>
   <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
   <uses-permission android:name="com.android.vending.BILLING"/>
   
   <application
        android:label="${appName}"
        android:name="${applicationName}"
        android:icon="@mipmap/launcher_icon"
        >
        <!-- 新增该行解决冲突 -->
        <property
            android:name="android.adservices.AD_SERVICES_CONFIG"
            android:resource="@xml/gma_ad_services_config"
            tools:replace="android:resource" />
            
        <activity
            android:name=".MainActivity"
            android:exported="true"
            android:launchMode="singleTop"
            android:theme="@style/LaunchTheme"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
            android:hardwareAccelerated="true"
            android:windowSoftInputMode="adjustResize">
            <meta-data
              android:name="io.flutter.embedding.android.NormalTheme"
              android:resource="@style/NormalTheme"
              />            
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <meta-data
            android:name="flutterEmbedding"
            android:value="2" />
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="<id>"/>
    </application>
</manifest>

替代方案

如果不想手动添加标签,也可以在android/build.gradle中强制统一Google服务依赖的版本,消除版本差异导致的冲突:

allprojects {
    repositories {
        // 保留原有仓库配置
    }
    configurations.all {
        resolutionStrategy {
            force 'com.google.android.gms:play-services-measurement-api:23.0.0'
        }
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 08:15:06