zom*_*mpi 9 android android-permissions apk-expansion-files
我在Android 6.0及更高版本上的权限有问题.
我正在使用的游戏是使用WRITE_EXTERNAL_STORAGE权限.在Android 6.0及更高版本上,必须显示要求用户允许的警报.
我已收到要求删除此警报,这意味着游戏不能再使用WRITE_EXTERNAL_STORAGE了.
从技术上讲,游戏现在不是在任何地方编写和阅读外部存储.所有保存和缓存的文件都存储在特定于应用程序的目录中(/storage/emulated/0/Android/data/com.company.productname)但是,游戏必须读取(有时下载)存储的OBB文件在/storage/emulated/0/Android/obb/com.company.productname目录中.
即使没有设备上的WRITE_EXTERNAL_STORAGE或READ_EXTERNAL_STORAGE,游戏也可以访问此目录:
但它似乎无法访问此目录:
我甚至使用Alpha测试检查它,以模拟从商店下载游戏.
当给予存储权限(通过应用程序设置)时,一切运行正常.
OBB是如何安装的?
我使用的虚幻引擎4使用C open()函数来处理OBB文件:
int32 Handle = open(LocalPath, O_RDONLY);
Run Code Online (Sandbox Code Playgroud)
其中LocalPath是obb文件的完整路径:/ storage_emulated/0/Android/obb/com.company.productname/main.10003.com.company.productname.obb
问题是:
zom*_*mpi 10
好吧,似乎问题列在其他地方,但我找不到因为我不知道这是确切的问题......
https://code.google.com/p/android/issues/detail?id=197287
由于某种原因,API23将OBB的用户设置为root用户,而不是正确的用户,因此应用程序无法访问它.
重启设备后一切正常.
目前还没有明确的解决方法.
感谢@Larry提供所有必要和有用的信息:)