Flutter编译Release包报错:minifyReleaseWithR8执行失败
Flutter Release编译R8报错
zip END header not found的解决办法 以下是针对你遇到的flutter_inappwebview:minifyReleaseWithR8任务报错zip END header not found,且--no-shrink参数无效的解决方案:
强制在Gradle配置中禁用R8与混淆压缩
直接修改Android端配置,绕过Flutter命令行参数失效的问题:- 打开
android/app/build.gradle,找到buildTypes下的release代码块,修改为:release { minifyEnabled false shrinkResources false // 如果存在proguardFiles相关配置,可直接注释或删除 } - 打开
android/gradle.properties,添加两行配置彻底关闭R8:android.enableR8=false android.enableR8.fullMode=false
- 打开
清理插件缓存并重新构建
错误源于flutter_inappwebview的压缩任务,尝试清理相关缓存:- 执行命令清理Flutter项目缓存:
flutter clean - 删除Android目录下的Gradle缓存:手动删除
android/.gradle文件夹 - 重新拉取依赖:
flutter pub get - 重新编译Release包:
flutter build apk --release
- 执行命令清理Flutter项目缓存:
调整flutter_inappwebview插件版本
当前使用的插件版本可能与R8存在兼容性问题:- 打开
pubspec.yaml,修改flutter_inappwebview的版本号(可尝试降级到稳定旧版本或升级到最新兼容版) - 执行
flutter pub get更新依赖后重新编译
- 打开
修复损坏的Gradle依赖缓存
zip END header not found通常意味着某个依赖的ZIP包损坏:- 找到本地Gradle缓存目录(默认路径:Windows为
C:\Users\<你的用户名>\.gradle\caches,Mac/Linux为~/.gradle/caches) - 搜索并删除所有与
flutter_inappwebview相关的压缩文件或缓存文件夹 - 重新执行Release编译命令,让Gradle重新下载完整的依赖包
- 找到本地Gradle缓存目录(默认路径:Windows为
内容的提问来源于stack exchange,提问作者Vanny LaRoche
相关产品推荐
相关产品推荐

