Flutter升级Play Core适配Android14遇Manifest合并错误求助
问题原因
你添加的是Google推荐的拆分式Play Core依赖(asset-delivery、feature-delivery这类独立模块),但你的项目里还存在旧版的完整com.google.android.play:core依赖(1.10.3版本)。这俩依赖都会在各自的AndroidManifest.xml里声明com.google.android.play.core.assetpacks.versionCode这个meta-data字段,版本数值不一致,直接触发了Manifest合并冲突。
解决步骤
- 第一步:移除旧版完整依赖
先找出哪个第三方库或Flutter插件偷偷引入了旧版core。执行./gradlew app:dependencies命令查看依赖树,定位com.google.android.play:core的来源。然后在对应的依赖中添加排除规则:
如果实在找不到来源,也可以直接全局排除:implementation "引入旧core的插件/库依赖" { exclude group: 'com.google.android.play', module: 'core' }configurations.all { exclude group: 'com.google.android.play', module: 'core' } - 第二步:若排除后仍冲突,按提示修改Manifest
在你的AndroidManifest.xml的<application>标签内添加对应meta-data,用tools:replace强制覆盖值:<!-- 先确保根标签包含tools命名空间 --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="你的应用包名"> <application ...> <meta-data android:name="com.google.android.play.core.assetpacks.versionCode" android:value="20202" tools:replace="android:value" /> <!-- 其他原有内容 --> </application> </manifest>
补充提醒
Google从Play Core 1.10.0开始就推荐使用拆分式依赖,能有效减小APK体积,只引入项目需要的模块。升级到这些拆分依赖后,必须确保项目中没有同时存在旧版的完整core依赖,否则这类冲突必然会出现。
内容的提问来源于stack exchange,提问作者Artur
相关产品推荐
相关产品推荐

