我正在尝试使用 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/