Flutter 3.16迁移构建报错:Kernel版本89不符合预期111
Flutter 3.16升级后构建失败:Kernel版本不匹配问题解决
问题描述
升级Flutter至3.16版本后,项目构建失败,控制台输出核心错误:
Unhandled exception: Unexpected Kernel Format Version 89 (expected 111)
已尝试以下方案但未解决:
- 降级后重新升级Flutter版本
- 更新项目依赖
- 删除
.idea目录 - 执行
flutter clean命令 - 创建新项目并复制代码文件
- 将IDE升级至Giraffe版本
解决方案
1. 彻底清理Flutter全局缓存
- 执行
flutter clean清理项目缓存 - 找到本地Flutter SDK安装目录,删除
bin/cache文件夹(此目录为缓存目录,删除后可重新生成) - 执行
flutter pub get重新拉取项目依赖 - 运行
flutter doctor检查环境是否正常
2. 确保Dart SDK与Flutter 3.16版本匹配
Flutter 3.16对应的Dart版本为3.2.0,需确认使用的是Flutter自带的Dart SDK:
- 执行
dart --version查看当前版本,若与3.2.0不符,检查IDE配置:
在Android Studio中依次打开File > Settings > Languages & Frameworks > Flutter,确认Flutter SDK路径正确,Dart SDK会自动关联Flutter内置版本,无需单独配置全局Dart。
3. 清理Android Studio本地缓存
- 打开
File > Invalidate Caches... - 勾选Clear file system cache and local history,点击
Invalidate and Restart重启IDE
4. 手动清理项目残留缓存文件
- 删除项目根目录下的
.dart_tool文件夹 - 删除项目根目录下的
build文件夹(若flutter clean未彻底清除)
错误原因说明
该错误源于Dart编译器读取的内核摘要文件格式版本(89)与当前Flutter 3.16配套Dart SDK要求的版本(111)不兼容,通常是旧版本缓存未被彻底清理,导致新SDK无法识别旧格式文件。
内容的提问来源于stack exchange,提问作者Stachowe
相关产品推荐
相关产品推荐

