Flutter构建AAB文件失败,APK构建正常该如何解决?
Flutter AAB构建失败解决方案
核心报错原因定位
你的构建失败有两个明确的触发点:
- R8压缩阶段缺失Google Play Core相关类
- AAB打包阶段检测到保留文件名
root/AndroidManifest.xml冲突
分步解决方案
1. 解决R8缺失类问题
- 在
android/app/build.gradle的dependencies块中添加Play Core依赖:
dependencies { // 原有依赖保持不变 implementation "com.google.android.play:core:1.10.3" }
- 如果开启了代码混淆,在
android/app/proguard-rules.pro中添加如下规则,避免相关类被误裁剪:
-keep class com.google.android.play.core.splitcompat.** { *; } -keep class com.google.android.play.core.splitinstall.** { *; }
2. 解决AndroidManifest.xml保留文件名冲突问题
这是导致AAB构建失败的核心原因,APK构建无此校验规则所以可以正常打包。
- 先检查项目本地
android/app/src/main/assets目录,确认是否存在名为AndroidManifest.xml的文件,如有直接删除即可。 - 若本地无此文件,说明是第三方依赖打包带入的冲突文件,在
android/app/build.gradle的android块中添加打包排除规则:
android { // 原有配置保持不变 packagingOptions { exclude 'AndroidManifest.xml' exclude 'root/AndroidManifest.xml' } }
3. 兼容适配补充
你使用的Flutter 2.2.3版本较老,建议将Android Gradle插件版本调整为4.1.x版本,避免高版本Gradle与旧版Flutter的兼容问题。
内容的提问来源于stack exchange,提问作者Aguni Dev
相关产品推荐
相关产品推荐

