android - 无法在 Android KitKat 4.4 上安装 Obb

标签 android android-4.4-kitkat

问题已记录在 Android issue tracker 中.

有人找到解决方法了吗?

它破坏了 Google Play 上的多个已发布应用。

最佳答案

首先简短说明一下您的 comment关于一些使用 APK 扩展的应用程序仍然有效。使用 APK 扩展文件不等于将 OBB 挂载为文件系统。 APK 扩展文件实际上可以是任何东西,它只是一个二进制文件。

现在回答您有关可能的解决方法的问题。我只想指出,如果安装 OBB 不起作用,则没有简单的方法(即不更改某些代码)。幸运的是,您需要更改的代码量并不大,并且有一些库可以为您提供帮助。所以,说到点...

APK 扩展文件的一个用途显然是在内部保存一个文件系统,但您也可以将文件连接成一个大的二进制 blob 并保存(如在文本文件或代码中)位置 ( APK 扩展文件中每个文件的偏移量)和长度(字节计数)。在运行时,每当您需要读取某个文件时,您只需打开大型二进制文件并从 offset 开始读取 count 个字节。

如果您希望格式更易于阅读并且不必自己计算偏移量和字节数,您可以只使用 ZIP 文件格式,但关闭压缩(通过在您的 ZIP 工具中设置压缩 = 0选择)。 Android 中实际上有一些类可以支持您轻松地从 ZIP 读取数据。您可以阅读有关此方法的更多信息 here

关于android - 无法在 Android KitKat 4.4 上安装 Obb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20097166/

相关文章:

android - 我有一个现有的 android 项目,其中缺少 gen 文件夹。我怎样才能运行这个项目?

Android - 单击项目时设置textview

android - 使用 KitKat Transitions Framework 时如何实现后退堆栈

android - Espresso 2 升级后测试失败(失败 : Instrumentation run failed due to 'java.lang.IllegalAccessError' )

android - KitKat Transucency 仅在底栏上且仅在一项 Activity 上

android - 以编程方式唤醒设备

java - org.json.JSONException : End of input at character 0 of

android - Android Studio 模拟器保存状态慢的原因是什么?

java - 无法在 onSingleClick 中使用 if 语句?双击时还需要 PDF 加载器

Android LocationManager requestLocationUpdates 改变了吗?