【问题标题】:Adding Realm android to flutter project not working将Realm android添加到flutter项目不起作用
【发布时间】:2018-03-19 13:29:00
【问题描述】:

我正在尝试将 Realm-android 添加到我的颤振项目中。我已经根据 Realm 文档添加了 gradle 依赖项,但是当我尝试使用 Realm 类扩展类时,我仍然没有在我的 android 代码中看到领域包。我也尝试了 gradle sync、gradlew clean assemble,但仍然没有修复。

Gradle 文件:/android/build.gradle

   repositories {
        ...
        jcenter()
        ...
    }
    dependencies {
    classpath 'com.android.tools.build:gradle:3.0.1'
    classpath 'com.google.gms:google-services:3.1.0'
    classpath 'io.realm:realm-gradle-plugin:5.0.0'
}

/android/app/build.gradle

apply plugin: 'com.android.application'
apply plugin: 'realm-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

提前致谢。

【问题讨论】:

  • 我认为你不能使用 Dart 的 Realm。
  • 是的,不能直接从 Dart 使用它,我要测试的是在 Android 端安装它,因为普通的 android 应用程序将使用 Realm-java 使用它,并使用颤振通道发送和接收信号。
  • 嗯,有趣的假设,不管怎样,我有点惊讶它没有被添加。考虑到它似乎是常规的com.android.application,它应该可以工作。你有试过在flutter.gradle之后申请吗?
  • 正是我的期望,但它不起作用;(我尝试更改“应用插件”语句位置并添加到文件末尾,但仍然无法工作,无论是 app/build.gradle 文件颤动生成,是根本原因,或者我可能犯了一些愚蠢的错误.我尝试创建新的纯android项目并根据领域文档添加相同的配置并且一切正常,所以我的猜测是flutter生成的app/build.gradle很可能是原因。
  • 确实是愚蠢的原因,我已经在 Android Studio 中导入了颤振项目根文件夹,当我尝试通过导入 android only 文件夹 (flooter_root/android) 时,一切都开始正常工作,Intellisense 也开始选择 Realm 类,现在不确定将其添加为答案还是应该删除问题。

标签: android realm flutter


【解决方案1】:

就我而言,这是导致此问题的愚蠢原因。 无需在 Android Studio 中导入 Flutter 项目根文件夹,而是仅将 android (flutter_project_root_dir/android) 特定文件夹导入 Android Studio。这解决了我的问题。

希望这可以为其他面临类似问题的人节省一些时间。

【讨论】:

  • 你能在颤振中使用领域吗?
  • 是的,我的意思是它只是原生领域和颤振的集成,然后我能够使用原生领域代码+颤振平台通道保存和读取数据。我通过颤振平台通道发送了我想要保存的数据,然后在 JAVA 中的本机领域代码执行保存/查询等。
  • 很好,自动同步机制是这样工作的吗?
  • 没有检查,但在我看来,它只是处理应用程序的 db 特定部分的普通 Android 本机领域设置,我猜,所有适用于普通普通 Android 应用程序的功能都可以使用这个设置也是!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-01
  • 2021-04-07
  • 2020-12-16
  • 1970-01-01
相关资源
最近更新 更多