Flutter升级后构建Release App Bundle遇:app:minifyReleaseWithR8执行失败
解决Flutter升级后Release构建
:app:minifyReleaseWithR8失败问题 核心问题分析
- 重复类冲突:
flutter_inappwebview_quill和flutter_inappwebview两个依赖都生成了com.pichillilorenzo.flutter_inappwebview.BuildConfig类,R8压缩时无法处理重复定义,这是导致构建失败的直接原因。 - Kotlin版本不兼容:类路径中同时存在Kotlin 1.5和1.6版本的标准库,引发版本冲突警告,可能加剧构建异常。
解决方案步骤
1. 消除重复BuildConfig类
在安卓模块的build.gradle(路径:android/app/build.gradle)中添加打包配置,排除重复的BuildConfig类:
android { // 保留原有其他配置 packagingOptions { exclude 'com/pichillilorenzo/flutter_inappwebview/BuildConfig.class' } }
如果flutter_inappwebview_quill是基于flutter_inappwebview的衍生依赖,也可以尝试同步两者的版本号,从根源避免重复类生成。
2. 统一Kotlin标准库版本
在安卓根目录的build.gradle(路径:android/build.gradle)中,强制指定统一的Kotlin版本:
buildscript { ext.kotlin_version = '1.6.10' // 选择与当前Flutter版本兼容的稳定版 dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // 保留原有其他依赖配置 } }
可通过以下命令查看依赖树,排查并调整冲突的依赖:
flutter pub deps --tree
3. 清理构建缓存后重新构建
执行以下命令清理旧构建文件,避免缓存干扰:
flutter clean flutter pub get flutter build appbundle --release
4. 临时禁用压缩(应急方案)
如果上述方法暂时无法生效,可按提示禁用R8压缩(不建议长期使用,会增大包体积):
flutter build appbundle --release --no-shrink
内容的提问来源于stack exchange,提问作者Janam Maharjan
相关产品推荐
相关产品推荐

