Java 领域对象不是此领域架构的一部分

Java 领域对象不是此领域架构的一部分,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

我正在使用realm作为我的应用程序的数据库,我有model
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'

...