java - 模型无法转换为 ModelRealmProxyInterface

标签 java android kotlin realm build.gradle

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

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

我在依赖项中添加了 Realm 注释处理器,如下所示

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

最佳答案

终于自己解决了这个问题,我错过了注册负责生成 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))

关于java - 模型无法转换为 ModelRealmProxyInterface,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54229459/

相关文章:

java - 大数模 n 的快速乘法

java - @RepositoryRestResource 在 Spring Boot 2.2.1.RELEASE 中不起作用。运行时出现错误 RegionRepository 必须只包含一个路径段

java - 用java创建三角形 slider

testing - kotlin 多平台覆盖?

android - 如何在jetpack compose中的特定位置绘制图像

java - 使用 Jackson JSON 反序列化和嵌套类?

java - Imageview 未显示来自 URL 的正确图像

android - 在 Android 设备上重新签名应用程序(.apk、.air)。类命令行

android - 更改RecyclerView.Adapter时刷新 fragment View

java - HazelCast 中的 SSL