Flutter集成Hive时无法生成Adapter适配器文件该如何解决
问题原因
- 你的
dev_dependencies中缺少Hive代码生成必需的依赖hive_generator,build_runner找不到对应的生成器所以不会执行任何输出动作 - 你定义的
@HiveType()注解没有传必填的typeId参数,Hive要求每个模型类必须指定唯一的typeId(取值范围0-255)
解决步骤
- 先在
pubspec.yaml的dev_dependencies节点下添加hive_generator依赖,示例配置:
dev_dependencies: flutter_test: sdk: flutter build_runner: ^2.1.0 hive_generator: ^1.1.5 # 版本和你使用的hive版本适配即可
- 给
@HiveType注解添加typeId参数,修改你的模型类代码:
@HiveType(typeId: 0) // 每个模型类的typeId不能重复 class ConfigItem { @HiveField(0) String _id; @HiveField(1) final String deviceName; // 其余代码保持不变 }
- 确认你的模型文件命名为
config_item.dart,和你顶部声明的part 'config_item.g.dart';前缀一致 - 执行依赖安装命令:
flutter pub get - 重新执行生成命令:
flutter packages pub run build_runner build --delete-conflicting-outputs
额外排查项
如果执行后还是不生成,检查你的模型文件是不是放在lib目录下,build_runner默认只会扫描lib目录下的dart文件生成代码。
内容的提问来源于stack exchange,提问作者ThommyB
相关产品推荐
相关产品推荐

