【问题标题】:Model cannot be cast to ModelRealmProxyInterface模型无法转换为 ModelRealmProxyInterface
【发布时间】:2019-01-17 05:18:16
【问题描述】:

我正在尝试使用从源代码构建的Realm-java library,我使用了以下 JAR 和 AAR

  • Realm Gradle 插件的 jar 文件
  • Realm 库的 aar 文件
  • 注释的 jar 文件
  • 注释的 jar 文件 处理器

我在依赖项中添加了 Realm-annotations-processor,如下所示

kapt project(':realm-annotations-processor-5.8.0')

当我们这样做时

val realm = Realm.getDefaultInstance()
try {
  realm.executeTransaction { realmInstance ->
    realmInstance.copyToRealm(user)// ClassCastException thrown
  }
} finally {
  realm.refreshAndClose()
}

我们遇到的确切异常是:

UserModel cannot be cast to io.realm.com_example_mobile_test_auth_model_UserModelRealmProxyInterface

【问题讨论】:

  • 你可能没有加apply plugin: 'kotlin-kapt'

标签: java android kotlin realm build.gradle


【解决方案1】:

终于自己解决了,我错过了注册负责生成RealmProxy的Realm-Transformer。

我们需要将以下代码添加到所需模块/应用程序的 build.gradle 中

buildscript {

   repositories {
       jcenter()
       mavenCentral()
   }

   dependencies {
       classpath "io.realm:realm-transformer:5.8.0"
   }
}
import io.realm.transformer.RealmTransformer
android.registerTransform(new RealmTransformer(rootProject))

【讨论】:

    【解决方案2】:

    我遇到了这个问题,我尝试了很多解决方案,但只有这个

    realm.deleteAll();
    

    可以帮助我

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-13
      • 2021-12-27
      • 2018-01-03
      • 2019-09-05
      • 2019-11-10
      • 2020-01-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多