Java 领域对象不是此领域架构的一部分
我正在使用realm作为我的应用程序的数据库,我有modelJava 领域对象不是此领域架构的一部分,java,android,gradle,realm,illegalargumentexception,Java,Android,Gradle,Realm,Illegalargumentexception,我正在使用realm作为我的应用程序的数据库,我有modelSessionModel: public class SessionModel extends RealmObject { private long id; private int currentPomod; private int state; ...getters\setters } 当我尝试在数据库中创建新文档时: Realm.init(this); realm = Realm.getD
SessionModel
:
public class SessionModel extends RealmObject {
private long id;
private int currentPomod;
private int state;
...getters\setters
}
当我尝试在数据库中创建新文档时:
Realm.init(this);
realm = Realm.getDefaultInstance();
realm.beginTransaction();
realm.copyToRealm(defSession);
我得到了这个错误:java.lang.IllegalArgumentException:SessionModel不是这个领域架构的一部分
我的顶级gradle文件包含以下依赖项:
...
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
classpath "io.realm:realm-gradle-plugin:2.3.0"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
...
和应用此插件的应用程序升级模块(位于build.gradle模块应用程序文件顶部):
即时运行被禁用。在我的例子中,出现了以下情况:
MyClass
正在实现realmodel
,但没有使用@RealmClass
进行注释。从中找到了一些解决方案。看起来和你的问题一样
解决方案:
应用插件:“com.neenbedankt.android apt”,然后再应用插件:“realm android”
希望它能帮助你 刚才遇到了这个错误。我试着重新整理我的插件,但仍然不起作用。事实证明,由于我现在使用托管realmList进行自动更新,因此我还必须更改应用程序上的领域配置。只需删除您当前的领域。用这个
Realm.deleteRealm(realmConfig);然后重新开始,只需将代码注释掉。您是否使用Kotlin或其他神奇的东西,可能是
apt
或kapt
?如果您没有android apt
,则应该自动应用annotationProcessor
作用域。我没有使用这些功能。问题已解决。域不使用gradle中启用的Jack toolchain。因此,当我从我的应用程序中删除Jack时,它可以正常工作。此外,我还添加了Retrolambda lib而不是Jack,以支持lambda表达式。
apply plugin: 'com.android.application'
apply plugin: 'realm-android'
...