【问题标题】:Realm : Invalid format of Realm file领域:领域文件的格式无效
【发布时间】:2016-06-24 07:05:39
【问题描述】:

我在我的android project 中使用realm 代替databse processing。 我得到了一些关于crash的用户报告:

java.lang.IllegalArgumentException: Illegal Argument: Invalid format of Realm file.
at io.realm.internal.SharedGroup.createNativeWithImplicitTransactions()(SourceFile:-2)
at io.realm.internal.SharedGroup.<init>()(SourceFile:64)
at io.realm.internal.SharedGroupManager.<init>()(SourceFile:49)
at io.realm.BaseRealm.<init>()(SourceFile:77)
at io.realm.Realm.<init>()(SourceFile:138)
at io.realm.Realm.createAndValidate()(SourceFile:269)
at io.realm.Realm.createInstance()(SourceFile:249)
at io.realm.RealmCache.createRealmOrGetFromCache()(SourceFile:114)
at io.realm.Realm.getInstance()(SourceFile:213)

我在开发过程中从未遇到过崩溃,但我的用户似乎多次遇到过这种情况。 以下是我检测到崩溃的实现:

private Realm getRealmFromConfig(Context context) {
    RealmConfiguration config = getRealmConfigByDBName(context, databaseName);
    Realm.compactRealm(config);
    return Realm.getInstance(config);
}

public RealmConfiguration getRealmConfigByDBName(Context context, String dbName) {
    RealmConfiguration config = new RealmConfiguration.Builder(context)
            .name(dbName)
            .schemaVersion(1)
            .setModules(new Module())
            .deleteRealmIfMigrationNeeded()
            .build();
    return config;
}

崩溃日志指出崩溃发生在return Realm.getInstance(config);

我查看了 Realm.java 文件,但仍然无法获得与消息Invalid format of Realm file 相关的更多信息。 因此,任何人都可以帮助给我一个解决方案或解决方法,以解决问题或一些关于崩溃发生原因的理论。

非常感谢!

【问题讨论】:

  • 我是 Realm 开发人员。请在 github 上提交此文件,因为这听起来像是 Realm.compactRealm() 中的一个潜在错误。
  • 是的,@geisshirt,我在这里找到了一个主题github.com/realm/realm-java/issues/2746,但他的解决方案对我不起作用:(。所以这个错误将在下一个版本中修复,还是我必须做一些技巧?
  • 如果您可以保留无效文件,如果您能将其发送给我们,我们将非常高兴。
  • 正如我上面所说,我在开发时没有遇到这个问题,但我的用户得到了它。所以我很难得到无效的文件。无论如何,如果我遇到它,我会送你:)
  • 提前谢谢 :-)

标签: android database realm


【解决方案1】:

当我将 Realm 从 2.0.0 降级到 1.0.1 时遇到了同样的问题(2.0.0 有一个严重的错误)。

我解决它的方法并不聪明(甚至不接近),但它是最快的。我发现了 IllegalArgumentException,然后删除了 Realm 数据库文件。 ¯_(ツ)_/¯

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-27
    • 1970-01-01
    • 1970-01-01
    • 2012-06-11
    • 1970-01-01
    • 2015-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多