Android 无法压缩域。Realm.getInstance在LG G5上使我的应用程序崩溃

Android 无法压缩域。Realm.getInstance在LG G5上使我的应用程序崩溃,android,database,file,realm,Android,Database,File,Realm,我在尝试运行以下领域代码时遇到此错误。为什么会这样 代码: 错误: 01-02 11:12:40.352: E/AndroidRuntime(18999): Process: nl.hgrams.passenger, PID: 18999 01-02 11:12:40.352: E/AndroidRuntime(18999): io.realm.exceptions.RealmFileException: Unable to open a realm at path '/data/data/nl

我在尝试运行以下领域代码时遇到此错误。为什么会这样

代码:

错误:

01-02 11:12:40.352: E/AndroidRuntime(18999): Process: nl.hgrams.passenger, PID: 18999
01-02 11:12:40.352: E/AndroidRuntime(18999): io.realm.exceptions.RealmFileException: Unable to open a realm at path '/data/data/nl.hgrams.passenger/files/myrealm.realm.management': make_dir() failed: No such file or directory. (make_dir() failed: No such file or directory) (/data/data/nl.hgrams.passenger/files/myrealm.realm.management) in /home/cc/repo/realm/release/realm/realm-library/src/main/cpp/io_realm_internal_SharedRealm.cpp line 217 Kind: ACCESS_ERROR.
01-02 11:12:40.352: E/AndroidRuntime(18999):    at io.realm.internal.SharedRealm.nativeGetSharedRealm(Native Method)
01-02 11:12:40.352: E/AndroidRuntime(18999):    at io.realm.internal.SharedRealm.<init>(SharedRealm.java:192)
01-02 11:12:40.352: E/AndroidRuntime(18999):    at io.realm.internal.SharedRealm.getInstance(SharedRealm.java:240)
01-02 11:12:40.352: E/AndroidRuntime(18999):    at io.realm.internal.SharedRealm.getInstance(SharedRealm.java:208)
01-02 11:12:40.352: E/AndroidRuntime(18999):    at io.realm.RealmCache.doCreateRealmOrGetFromCache(RealmCache.java:297)
01-02 11:12:40.352: E/AndroidRuntime(18999):    at io.realm.RealmCache.createRealmOrGetFromCache(RealmCache.java:283)
01-02 11:12:40.352: E/AndroidRuntime(18999):    at io.realm.Realm.getInstance(Realm.java:291)
01-02 11:12:40.352:E/AndroidRuntime(18999):进程:nl.hgrams.passenger,PID:18999
01-02 11:12:40.352:E/AndroidRuntime(18999):io.realm.exceptions.RealmFileException:无法在路径“/data/data/nl.hgrams.passenger/files/myrealm.realm.management”处打开域:make_dir()失败:没有这样的文件或目录。(make_dir()失败:没有这样的文件或目录)(/home/cc/repo/realm/release/realm/realm/library/src/main/cpp/io_realm_internal_SharedRealm.cpp第217行中的/data/data/nl.hgrams.passenger/files/myrealm.realm.management)种类:ACCESS_错误。
01-02 11:12:40.352:E/AndroidRuntime(18999):在io.realm.internal.SharedRealm.nativeGetSharedRealm(本机方法)
01-02 11:12:40.352:E/AndroidRuntime(18999):在io.realm.internal.SharedRealm.(SharedRealm.java:192)
01-02 11:12:40.352:E/AndroidRuntime(18999):位于io.realm.internal.SharedRealm.getInstance(SharedRealm.java:240)
01-02 11:12:40.352:E/AndroidRuntime(18999):位于io.realm.internal.SharedRealm.getInstance(SharedRealm.java:208)
01-02 11:12:40.352:E/AndroidRuntime(18999):位于io.realm.RealmCache.doCreateRealmOrGetFromCache(RealmCache.java:297)
01-02 11:12:40.352:E/AndroidRuntime(18999):位于io.realm.RealmCache.createRealmOrGetFromCache(RealmCache.java:283)
01-02 11:12:40.352:E/AndroidRuntime(18999):位于io.realm.realm.getInstance(realm.java:291)
这发生在
Realm Realm=Realm.getInstance(PSApplicationClass.Config)


这不会发生在Le Eco Le 2 Pro或Nexus 5上,但会发生在我的LG G5上。我的压实方式有问题吗?(这里还没有找到压缩代码,所以我不知道这是怎么可能的。

经过更多的测试和尝试,我发现了问题。注销时,我删除了数据目录的上下文。因此,对于API>N的手机,会崩溃:

   int currentapiVersion = android.os.Build.VERSION.SDK_INT;
    if (currentapiVersion >= android.os.Build.VERSION_CODES.N) {
        FileUtils.deleteQuietly(context.getDataDir());
    }

根据日志,
没有这样的文件或目录
。检查是否存在
/data/data
。能否发布PSApplicationClass.Config code`Config=new RealmConfiguration.Builder().name(“myrealm.realm”).schemaVersion(3).DeleteRealMifMigrationRequired().build()。
   int currentapiVersion = android.os.Build.VERSION.SDK_INT;
    if (currentapiVersion >= android.os.Build.VERSION_CODES.N) {
        FileUtils.deleteQuietly(context.getDataDir());
    }