Flutter项目用flutter_eval编译.evc文件时遇dart:ui导入错误
解决flutter_eval编译时找不到dart:ui的问题
原因
dart:ui是Flutter专属核心库,默认dart_eval编译器未内置对它的支持,需通过flutter_eval的Flutter桥接包提供该库及Flutter组件的编译支持。
解决步骤
- 添加Flutter桥接依赖
在项目pubspec.yaml中补充flutter_eval_bridge_flutter依赖,版本需与已安装的flutter_eval保持一致:
dependencies: flutter_eval: ^0.7.0 # 替换为你当前使用的版本 eval_annotation: ^0.7.0 flutter_eval_bridge_flutter: ^0.7.0
执行flutter pub get完成依赖安装。
- 修正编译命令
编译时指定具体的目标文件(避免默认编译整个package引发路径问题):
dart_eval compile -o update.evc lib/你的目标文件.dart
替换lib/你的目标文件.dart为实际代码文件的路径。
- 规范导入逻辑
代码中无需直接导入dart:ui,依赖package:flutter/material.dart即可,flutter_eval_bridge_flutter会自动处理底层的dart:ui引用。
额外提示
- 务必保证
flutter_eval与flutter_eval_bridge_flutter版本完全匹配,版本不一致可能导致其他编译异常。 - 若问题仍存在,可删除项目根目录下的
.dart_tool文件夹,重新执行flutter pub get修复包配置。
内容的提问来源于stack exchange,提问作者Marcin Wróblewski
相关产品推荐
相关产品推荐

