升级AGP 8.3.0遇Manifest合并冲突,求解决方案
解决AGP 8.3.0升级时AD_SERVICES_CONFIG冲突问题
这个冲突是因为com.google.android.gms:play-services-measurement-api:21.5.1和com.google.android.gms:play-services-ads-lite:22.6.0两个依赖的AndroidManifest.xml中,都定义了android.adservices.AD_SERVICES_CONFIG属性,但指向的资源文件不同,导致Manifest合并时冲突。你的主Manifest没配置这个属性,是依赖自动引入的。
解决方法如下:
方法一:通过tools:replace强制覆盖
- 先在主Manifest的
<manifest>标签中添加tools命名空间:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="你的应用包名">- 在
<application>标签内添加<property>元素,指定要保留的资源并覆盖冲突:
<application> <!-- 其他已有的application内容 --> <property android:name="android.adservices.AD_SERVICES_CONFIG" android:resource="@xml/gma_ad_services_config" <!-- 或者选@xml/ga_ad_services_config,根据需求选择 --> tools:replace="android:resource" /> </application>- 先在主Manifest的
方法二:升级依赖版本消除冲突
尝试将两个Google Play服务依赖升级到最新且匹配的版本,Google通常会在后续版本中修复这类Manifest合并冲突问题。比如将play-services-measurement-api升级到与play-services-ads-lite:22.6.0兼容的版本,或者直接把两者都升级到最新稳定版。
内容的提问来源于stack exchange,提问作者user17952421
相关产品推荐
相关产品推荐

