Android API 25: 保存到 PRIVATE 存储时出现权限错误
Android API 25: Permission error while saving to PRIVATE storage
在 API25 之前,将文件保存到私人应用程序存储没有问题。然而,将 compileSdkVersion 和 targetSdkVersion 设置为 25,这是不可能的 - 每当我尝试 read/write 一个文件(在应用程序私有存储中)时,我得到 PERMISSION_DENIED 并且我的应用程序崩溃。
示例 1:这是 Realm 在调用 Realm.getDefaultInstance():
时抛出的异常
io.realm.exceptions.RealmFileException: Unable to open a realm at path
'/data/data/[PACKAGE_NAME]/files/default.realm.management'.
Please use a path where your app has read-write permissions. in
/Users/cm/Realm/realm-java/realm/realm-library/src/main/cpp/io_realm_internal_SharedRealm.cpp
line 81 Kind: PERMISSION_DENIED.
示例 2:这是应用程序在尝试保留文件(打开 FileOutputStream 时)时抛出的异常:
java.io.FileNotFoundException: /data/user/0/[PACKAGE_NAME]/files/[FILE_NAME] (Permission denied)
如前所述,我在 API 上有 none 个这些问题 24. 有人知道这个问题的可能原因是什么吗?
您的应用无法处理自己的文件。可能的原因包括:
因为您更改了应用程序的 android:sharedUserId
值 — 如果您曾 add/change/remove 清单中的此属性,则必须完全卸载并重新安装该应用程序
与您正在测试的设备上的多个用户帐户有关,可能绑定到...
...Android 中的一些错误你不小心绊倒了
在 API25 之前,将文件保存到私人应用程序存储没有问题。然而,将 compileSdkVersion 和 targetSdkVersion 设置为 25,这是不可能的 - 每当我尝试 read/write 一个文件(在应用程序私有存储中)时,我得到 PERMISSION_DENIED 并且我的应用程序崩溃。
示例 1:这是 Realm 在调用 Realm.getDefaultInstance():
时抛出的异常io.realm.exceptions.RealmFileException: Unable to open a realm at path '/data/data/[PACKAGE_NAME]/files/default.realm.management'. Please use a path where your app has read-write permissions. in /Users/cm/Realm/realm-java/realm/realm-library/src/main/cpp/io_realm_internal_SharedRealm.cpp line 81 Kind: PERMISSION_DENIED.
示例 2:这是应用程序在尝试保留文件(打开 FileOutputStream 时)时抛出的异常:
java.io.FileNotFoundException: /data/user/0/[PACKAGE_NAME]/files/[FILE_NAME] (Permission denied)
如前所述,我在 API 上有 none 个这些问题 24. 有人知道这个问题的可能原因是什么吗?
您的应用无法处理自己的文件。可能的原因包括:
因为您更改了应用程序的
android:sharedUserId
值 — 如果您曾 add/change/remove 清单中的此属性,则必须完全卸载并重新安装该应用程序与您正在测试的设备上的多个用户帐户有关,可能绑定到...
...Android 中的一些错误你不小心绊倒了