Flutter编译Debug包失败:AssetFlare类未定义hashValues方法如何解决?
问题分析
报错核心是flare_flutter:3.0.2包的AssetFlare类中调用了未定义的hashValues方法,原因是该包未正确导入依赖,或与当前Flutter版本不兼容(新版本Flutter已用Object.hash替代hashValues)。
解决方案
临时修复(修改本地缓存包)
- 定位到报错文件:
../../../../../../.pub-cache/hosted/pub.dev/flare_flutter-3.0.2/lib/provider/asset_flare.dart - 两种修改方式二选一:
- 在文件顶部导入依赖:
import 'package:flutter/foundation.dart'; - 替换
hashValues为Flutter新版本兼容的写法:int get hashCode => Object.hash(bundle, name);
- 在文件顶部导入依赖:
- 修改后重新执行
flutter run
长期解决方案(替换为维护活跃的包)
flare_flutter已停止维护,官方推荐使用其继任者rive_flutter:
- 打开
pubspec.yaml,移除flare_flutter依赖,添加:rive: ^0.11.0 # 可替换为最新稳定版本 - 替换项目中所有
flare_flutter相关的导入、组件调用为Rive的对应API
降级Flutter版本(保留flare_flutter时使用)
若必须继续使用flare_flutter,可降级Flutter到兼容版本:
flutter downgrade 2.10.5
执行后运行flutter pub get重新构建
内容的提问来源于stack exchange,提问作者Savre Designs
相关产品推荐
相关产品推荐

