You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android模拟器运行SQLite数据库时加载动态库失败求助

解决Android模拟器上SqfliteFfi加载libsqlite3.so失败的问题

以下是针对该错误的具体解决方案:

  • 检查sqflite_ffi配置

    1. 确保pubspec.yaml中依赖的sqflite_ffi为最新稳定版,执行flutter pub upgrade sqflite_ffi更新依赖。
    2. 在android/app/build.gradle文件中添加打包配置,确保能正确拾取sqlite3动态库:
      android {
          // 其他配置...
          packagingOptions {
              pickFirst 'lib/x86/libsqlite3.so'
              pickFirst 'lib/x86_64/libsqlite3.so'
              pickFirst 'lib/armeabi-v7a/libsqlite3.so'
              pickFirst 'lib/arm64-v8a/libsqlite3.so'
          }
      }
      
    3. 确认数据库初始化代码正确:
      import 'package:sqflite_ffi/sqflite_ffi.dart';
      
      void main() {
        // 初始化sqflite_ffi
        sqfliteFfiInit();
        // 设置数据库工厂
        databaseFactory = databaseFactoryFfi;
        // 后续数据库操作逻辑
      }
      
  • 验证模拟器架构兼容性

    • 避免使用老旧的x86架构模拟器,建议创建基于Android 10及以上版本的arm64-v8a或x86_64架构模拟器,这类架构对动态库的支持更完善。
    • 若当前模拟器存在问题,直接删除后新建一个符合要求的模拟器实例。
  • 清理重建项目

    • 执行flutter clean清除项目缓存文件
    • 执行flutter pub get重新拉取所有依赖
    • 卸载模拟器上已安装的旧应用,再运行flutter run重新安装启动
  • 手动添加sqlite3库(兜底方案)
    如果上述方法都无效,可以手动下载对应架构的libsqlite3.so文件,放置到android/app/src/main/jniLibs/对应的架构目录下(如armeabi-v7a、arm64-v8a等),若目录不存在需手动创建。

内容的提问来源于stack exchange,提问作者Sebastian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 18:53:15