Java 使用和/或提取可扩展文件(obb)android

Java 使用和/或提取可扩展文件(obb)android,java,android,apk-expansion-files,Java,Android,Apk Expansion Files,我可以上传一个可扩展的文件并下载 在谷歌play的我的应用程序上。遵循o[官方教程][1] 它将obb文件保存到/Android/obb/main.2.myappname.obb 我假设这个obb文件将被提取到资产或原始文件夹或 类似的东西。在我压缩了大约20.mp3后,obb文件被重命名 文件夹。它们的名字是这样的:1.mp3,2.mp3等等 是否有可能提取obb文件?如果没有,我将如何提取 访问个人mp3文件,我可以从 资源或原始文件夹。假设我想访问当前的1.mp3 在重命名为main.2.

我可以上传一个可扩展的文件并下载 在谷歌play的我的应用程序上。遵循o
[官方教程][1]

它将obb文件保存到/Android/obb/main.2.myappname.obb

我假设这个obb文件将被提取到资产或原始文件夹或 类似的东西。在我压缩了大约20.mp3后,obb文件被重命名 文件夹。它们的名字是这样的:1.mp3,2.mp3等等

是否有可能提取obb文件?如果没有,我将如何提取 访问个人mp3文件,我可以从 资源或原始文件夹。假设我想访问当前的1.mp3 在重命名为main.2.myappname.obb的.zip存档上


谢谢。

我很惊讶这里没有人插话。您可以使用StorageManager装载OBB()、卸载BB()、getMountedObbPath()和IsobMounted()。装载Obb并调用getMOuntedObbPath后,可以使用返回的路径对其进行正常读取。它充当虚拟驱动器。你就是不能回信


以下是文档链接:

您可以使用
APK扩展压缩库通过
InputStream
直接从OBB读取。文档:

示例代码:

try {
    String obbFilePath = mContext.getObbDir() + "/" + "main.{package_name}.{version_code}.obb";
    ZipResourceFile expansionFile = new ZipResourceFile(obbFilePath);
    InputStream inputStream = mExpansionFile.getInputStream("1.mp3");
} catch (Exception e) {
    Log.d(TAG, "Exception loading obb: " + e);
}

代替最后一行,因为您正在播放MP3,使用是一个更好的主意。

例如,如果我的应用程序版本为0.0.9格式,我该如何命名obb文件?只是9点吗?整数等价物?生成编号通常是生成系统中的自动递增编号。这是你最好的候选人。因此,1.0.343是您的版本名,343是您的版本号。是的,我没有意识到语义版本已上载,但Play Store为实际版本发布了一个新版本。服务器发布的是您将使用的。