Flutter使用sqflite报错:databaseFactory未初始化,求解决方案
sqflite 初始化错误解决办法
问题描述
执行var databasesPath = await getDatabasesPath();或直接调用openDatabase时抛出如下错误:
Exception has occurred.
StateError (Bad state: databaseFactory not initialized
databaseFactory is only initialized when using sqflite. When usingsqflite_common_ffi
You must calldatabaseFactory = databaseFactoryFfi;before using global openDatabase API
)
当前依赖配置:
dependencies: flutter: sdk: flutter sqflite: ^2.2.8 path: ^1.8.2
补充说明:未使用sqflite_common_ffi,同一项目在其他机器可正常运行,尝试过官方示例仍出现相同错误。
解决步骤
清理项目缓存与依赖
- 删除项目根目录下的
pubspec.lock文件 - 执行命令:
flutter clean - 重新拉取依赖:
flutter pub get
- 删除项目根目录下的
对齐Flutter环境版本
- 查看当前Flutter版本:
flutter --version - 与正常运行项目的机器版本对齐,可使用
flutter downgrade <目标版本号>或flutter upgrade调整
- 查看当前Flutter版本:
检查代码导入
排查所有dart文件的导入语句,确保没有意外引入sqflite_common_ffi相关代码,如有则移除强制重新构建
运行项目时添加参数跳过构建缓存:flutter run --no-build-cache
内容的提问来源于stack exchange,提问作者Windschief
相关产品推荐
相关产品推荐

