Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 像BattlegroundMobile这样的应用程序如何在没有存储权限的情况下访问obb?_Android_Apk Expansion Files - Fatal编程技术网

Android 像BattlegroundMobile这样的应用程序如何在没有存储权限的情况下访问obb?

Android 像BattlegroundMobile这样的应用程序如何在没有存储权限的情况下访问obb?,android,apk-expansion-files,Android,Apk Expansion Files,我已经在我的游戏应用程序上开发了obb功能。为了简单解释obb功能的逻辑 使用资源创建zip文件并重命名为.obb 将其上载到带有apk的play store。然后它会自动生成一个obb文件 使用构建版本代码 使用java.util.zip将obb文件提取到应用程序数据文件夹,并装载到 资产 但如果要提取资产,则需要外部存储权限。 造成10%~15%的客户损失 还有很多我一直在寻找的帖子都说需要许可。 但一些应用程序,如battlegroundmobile虽然使用obb功能,但不请求访问权限

我已经在我的游戏应用程序上开发了obb功能。为了简单解释obb功能的逻辑

  • 使用资源创建zip文件并重命名为.obb
  • 将其上载到带有apk的play store。然后它会自动生成一个obb文件 使用构建版本代码
  • 使用java.util.zip将obb文件提取到应用程序数据文件夹,并装载到 资产
但如果要提取资产,则需要外部存储权限。 造成10%~15%的客户损失

还有很多我一直在寻找的帖子都说需要许可。 但一些应用程序,如
battlegroundmobile
虽然使用obb功能,但不请求访问权限

所以,我想知道这些应用程序是如何以编程方式避免权限要求的

使用java.util.zip将obb文件提取到应用程序数据文件夹并装载到 资产

也许这就是你的问题所在

战场机动部队没有将obb文件复制或提取到内部存储器。它正在访问OBB文件夹内文件中的数据流。如果只使用OBB文件夹中的文件,则无需请求权限

下载大小为1.53 GB。obb文件位于Internal Storage-Android-obb-com.tencent.ig文件夹下。它的大小是1.53 GB。所以APK的大小非常小

启动后,它会额外下载195MB的更新数据。 下载的文件存储在

/存储/仿真/0/Android/data/com.tencent.ig

内部存储-安卓-数据

您可以通过getExternalFilesDir访问它

同样,无需请求许可即可下载或阅读该文件夹

应用程序总存储空间为1.85GB。 应用程序:1.65 GB 数据:202 MB 缓存:10.59 MB


如果清除数据,它将删除所有更新。但是OBB文件夹中的内容仍然存在。

您找到答案了吗?
内部存储
getExternalFilesDir()
是另一回事。与
外部存储
相反,用户只能访问
内部存储
中的应用程序目录,而无需请求权限。多亏了您的回答!我明白了。但就我而言,我应该从obb中提取资产。因此,在请求减少客户流失之前,我已经发出了有关许可的友好通知。:)再次感谢。如果您将数据提取到应用程序的数据文件夹中,则无需请求权限,可能您正在将数据提取到另一个文件夹中。祝你的应用程序一切顺利。