问题标签 [apk-expansion-files]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
447 浏览

android - 完成下载后的 APK 扩展

我目前正在google play上发布一个应用程序(使用Cocos2d-x),由于文件大小大于50MB,我必须使用扩展文件。

我参考了这个页面和http://developer.android.com/google/play/expansion-files.html给出的示例

目前,一切正常。我的问题是,当它完成下载扩展文件并验证文件时,单击“确定”按钮将关闭应用程序。

如何恢复我的主应用程序?由于扩展文件已下载,再次重新打开应用程序将完美运行游戏。

我希望它在下载扩展后立即恢复主应用程序。我希望有人能帮助我。

0 投票
1 回答
338 浏览

android - Android APK 扩展

我一切正常,然后我需要在 obb 中上传新版本的资源。我将 Manifest 中的版本号提高到 3,我将资源压缩并命名为 main.3..obb 并像第一个一样上传它。我更新了现在,当我尝试下载它时,我得到了这个:

我似乎无法获得更多关于出了什么问题的信息!有人对这个有经验么?

0 投票
1 回答
2692 浏览

android - Cocos2d-X 加载 OBB / 扩展文件

我的 Cocos2d-X 游戏大于 50 Mo,所以当我阅读 Android 文档时,我必须使用扩展文件。我关注了这个主题:Android OBB/ZIP loading (cocos2dx) 所以我修改了 Cocos2dxHelper.java 并将我的 OBB 文件(重命名的 Zip 文件)放在我设备的 sdcard 上:/Android/obb/com.project.id/com.project。 id.obb 不幸的是,我的 OBB 文件没有加载。我添加了这些权限:

我的错误在哪里?您是否成功地从 OBB 文件加载资产?还有其他事情要做吗?

提前致谢。

编辑: 这是我的 OBB 文件的完整路径:/sdcard/emulated/0/com.emedion.games.bardadum/main.1.com.emedion.games.bardadum.obb 我读到“/sdcard/emulated/0/ " 是自 Android 4.2 以来正确的外部存储路径。

我正在使用 Android 4.4.2 的 Nexus 4 上对其进行测试。

0 投票
3 回答
1750 浏览

android - APK 扩展文件下载不起作用

我需要将扩展​​支持集成到我的应用程序中。到目前为止,我的应用程序中有示例 DownloaderActivity、Service 和 Receiver。

现在我设置了 XAPKFile

文件大小是正确的,它不是“磁盘大小”,但我也试过了。

版本号始终等于我的 apk 包版本。

我将两者都作为 alhpa 版本上传到市场上以对其进行测试并使其他人无法访问。

测试账户是开发者账户。

现在的问题是,下载不会开始。我总是收到提示“下载失败,因为您可能没有购买此应用程序”。

我昨天在下载器服务中调试了很多应用程序,以找到实际问题。我在 LicenseValidator.java 验证方法中从服务器返回的响应代码始终为 NOT_LICENSED。

RSA 密钥是正确的。

为什么我的应用没有获得许可?

编辑:

我现在在另一个帐户上对其进行了测试,得到了不同的错误:

在此处输入图像描述

该帐户已作为测试帐户添加到开发者控制台的许可中

0 投票
2 回答
1375 浏览

android - 挂载 .obb 时未调用 OnObbStateChangeListener

我们已经在我们的应用程序中成功使用 APK 扩展文件技术一段时间了,将 .obb 文件扩展到另一个目录以读取各个部分。我们最终决定通过使用 StorageManager 安装它来尝试直接从 bob 中读取。我们使用的代码在网络上似乎很常见。

我们拨打电话:

这成功为“成功排队”。但是之后永远不会调用 obbListener 。如果您查看 LogCat,您会看到以下内容:

我认为这与问题有关,但我一直无法找到很多关于为什么没有“合格用户”的原因。有人可以解释一下这里会发生什么吗?

我们已经验证 obbFile.exists() 是真的。这个文件在那里。

在寻找答案时,我看到很多关于损坏 JOBB 工具的参考。Android 4.4 似乎也有一个错误阻止它工作(尽管我现在使用的是 4.4.2)。我想知道这是否足够稳定以用于生产代码。

0 投票
1 回答
870 浏览

android - 可以挂载未加密的 obb 但出现加密错误 21

这与 kitkat 错误无关,我正在 4.4.2 中测试

我可以毫无问题地安装 obb 文件,问题是尝试对加密的 obb 执行相同操作时。我在这样的窗口中使用 jobb :

我唯一更改为加载加密的 obb 文件是:

这不是权限问题。那么,为什么我不能挂载加密的obb文件呢?我在 Android 中阅读了这篇使用加密的 OBB 文件,但不理解代码。并且不在文档中。谢谢。

0 投票
1 回答
112 浏览

android - 通过同时拥有多个 apk 和一个扩展文件来解决每个应用程序 50Mb 的问题

我打算将我的应用程序发布到谷歌开发者控制台,但发现应用程序限制为 50MB,为了解决这个问题,我有 2 个选项:1)扩展文件和 2)多个 apk

所以我尝试使用第二个选项,并根据屏幕大小将图像分布在几个 apk 中。单个 apk 的大小当然减少了,但仍然超过 50MB。是否可以有一个扩展文件和多个 apk?

0 投票
1 回答
3424 浏览

android - Unity Android patch.obb文件的创建和使用

我们目前正在开发一个必须具有本地化 mp4 流视频的 Unity Android 项目。为了实现这一点,我希望将视频文件放在一个扩展的 obb 文件中,然后我们可以拥有相同的 apk 并根据语言使用不同的 obb 文件提交。

不幸的是,我们没有视频的应用程序仍然超过 50Mb,因此我们需要为应用程序使用第一个“main.1.name.obb”。

但是,我们也可以提交名为“patch.1.name.obb”的第二个 obb。但是我在制作和使用它时遇到了麻烦。有没有人以前统一尝试过这个?

应用程序使用第一个 obb 文件构建和运行非常好(即游戏没有视频也可以运行),问题只是在补丁 obb 创建中。

我试图通过使用 0% 压缩的 linux zip 命令创建 obb,然后将其重命名为 .obb 文件,但没有成功。(例如 patch.1.packname.zip 到 patch.1.packname.obb)

我尝试使用 jobb 工具创建 obb,它可以很好地添加视频,但仍在游戏中找不到/播放它们。

视频肯定在制作的 obb 文件内的“资产”文件夹中(我相信流媒体资产必须在其中)

我已经捏造了流媒体资产路径( Application.streamingAssetsPath )以将“main”替换为“patch”,并通过 logcat 看到它确实在尝试从补丁 obb 文件中获取视频。(例如“jar:file:///[storagelocation]/Android/obb/packname/patch.1.packname.obb!/vid01.mp4)

我们在 AndroidManifest.xml 中的版本代码如果绝对是 1。任何人都可以提出其他建议尝试或指出我在尝试执行此操作时犯的明显错误吗?

让我知道您可能需要帮助的更多信息,并提前致谢。

0 投票
1 回答
632 浏览

android - 使用 APK 扩展文件中的音频加载 SoundPool

文档中它说:

如果您使用扩展文件来存储媒体文件,ZIP 文件仍然允许您使用提供偏移和长度控制的 Android 媒体播放调用(例如 MediaPlayer.setDataSource() 和 SoundPool.load())。

我有 10 个小的 .ogg 文件,我想使用 SoundPool.load (FileDescriptor fd, long offset, long length, int priority) 来加载这些音频文件。我写了一些代码,但是当我运行它时,我收到错误消息:

“无法加载样本:(空)”

,显然没有播放音频。这是我尝试的:

0 投票
0 回答
541 浏览

android - 从扩展文件加载的图像看起来比它应该看起来的要小

我正在开发一个包含许多图像的应用程序。由于应用程序限制(50MB),我将一些图像移至扩展文件。在我将所有图像放入不同的文件夹(如 drawable-xhdpi、drawable-mdpi 等)之前。现在我以编程方式确定手机的 dpi 并相应地获取图像。以下是重要的代码位:

因此,每当我需要图像时,我都会像这样调用 getDrawable:

但问题是,现在当我以编程方式执行此操作时,图像看起来比我将其放入 drawable-xhdpi 文件夹并且 android 自动从该文件夹中选择它时要小。我能做些什么来解决这个问题?