无法将模型转换为ModelRealmProxyInterface

时间:2019-01-17 05:18:17

标签: java android kotlin realm build.gradle

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

  • Realm Gradle插件的jar文件
  • 领域库的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

1 个答案:

答案 0 :(得分:0)

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