Realm Object不是此Realm的架构的一部分

时间:2017-01-26 15:44:51

标签: java android gradle realm illegalargumentexception

我使用realm作为我的应用程序的数据库,我有模型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 is not part of the schema for this Realm

我的顶级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
}
...

和app gradle模块应用此插件(在build.gradle模块应用程序文件的顶部):

apply plugin: 'com.android.application'
apply plugin: 'realm-android'

...

禁用即时运行。

3 个答案:

答案 0 :(得分:0)

就我而言,情况如下:MyClass正在实施RealmModel,但没有注明@RealmClass

答案 1 :(得分:0)

git issues找到了一些解决方案。它看起来像你一样的问题。

<强>解决方案: apply apply plugin: 'com.neenbedankt.android-apt' before apply plugin: 'realm-android'

希望它能帮到你!!

答案 2 :(得分:0)

刚刚遇到此错误。我尝试重新安排我的插件仍然没有工作。事实证明,因为我现在使用托管的realmList进行自动更新,所以我必须在应用程序上更改领域配置。只是删除你当前的领域。用这个 Realm.deleteRealm(realmConfig);然后重新开始,但只是注释掉代码。