找不到方法 getDatabasesPath 的实现

No implementation found for method getDatabasesPath

我看到很多人有类似的问题。但是,到目前为止我找不到解决方案。 我正在构建一个 Android 应用程序,我已经在其中实现了一些蓝牙功能。我现在想做的是创建一个数据库来存储蓝牙设备的配置。为此,我使用了 sqflitepath 插件。实施后我收到以下错误: [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: MissingPluginException(No implementation found for method getDatabasesPath on channel com.tekartik.sqflite)

我的打开数据库函数:

    Database _database = await openDatabase(
      join(await getDatabasesPath(), 'dataset.db'),
      onCreate: (db, version) {
        return db.execute(
            "CREATE TABLE datasets(id INTEGER PRIMARY KEY, dataset TEXT)"
        );
      },
      version: 1,
    );
    return _database;
  }

所以我终于弄明白了。问题出在 GeneratedRegistrantPlugin 中。通常它应该注册所有来到原生平台的 Flutter 插件。但是,在我的情况下什么也没有(它是在 flutter pub get 期间生成的)。经过调查,我从我的项目中删除了不必要的文件夹示例,它最终允许 GeneratedRegistrantPlugin 正确生成。