问题标签 [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 回答
520 浏览

android - Android 扩展文件是否需要下载器库?

我的应用需要大量的图片资源,所以我不得不将它们打包成一个扩展文件。当我手动将扩展文件复制到模拟器的共享存储时,我的工作正常。我不清楚的是整个下载过程。

在谷歌的(通常令人沮丧的)文档中,它说:

在大多数设备上,Google Play 会在下载 APK 的同时下载扩展文件,因此当用户第一次打开应用程序时,您的应用程序就会拥有所需的一切。但是,在某些情况下,您的应用程序必须在您的应用程序启动时从 Google Play 下载文件。

我的应用程序将免费提供一个扩展文件。我真的可以依赖应用程序下载的扩展文件吗?或者我必须实现下载器服务以确保在应用程序启动时下载扩展文件?

什么情况下不会用apk下载扩展文件?我想用户可能会擦除或删除最初复制扩展文件的共享存储卷,所以这可能是我不得不担心的情况。

告诉我我可以偷懒!来吧!然后有人在一篇博文中链接到这个问题,感叹应用程序开发人员的懒惰。好吧,好吧,我不会全力以赴。我只是想了解这里的机制,是的,我宁愿避免实现下载器服务的额外麻烦。我不是全职的 Android 开发人员,我还有其他事情要做!

谢谢

0 投票
1 回答
971 浏览

android - Google Play 下载器库错误

当我从现有源(Google play 下载器库)创建一个新项目以与 APK 扩展文件一起使用时,该项目添加了许多错误:

  • 下载器客户端Marshaller.java
  • 下载服务Marshaller.java
  • 下载ProgressInfo.java
  • 下载服务.java
  • 下载Notification.java
  • V11CustomNotification.java
  • V3CustomNotification.java

库 targetSdkVersion 为 15

将库添加到我的项目会产生以下错误:

0 投票
2 回答
3077 浏览

android - APK 扩展文件下载异常

我最近在我的应用程序中实现了http://developer.android.com/guide/market/expansion-files.html中描述的 APK 扩展文件代码 。我更新了清单,创建了服务和接收器文件,并更新了我的主要活动 onCreate() 以符合指南中的说明。

我为我的应用创建了一个签名的 apk,并将其与 obb 文件一起上传到我的 Google Play 帐户。这些被保存为“草稿”。

然后我使用 adb 将我签名的 APK 安装到我的设备上并运行它并立即得到以下异常:



有趣的是,如果我通过 Eclipse 调试器运行我的应用程序,我可以执行导致异常的代码,并继续正常处理,收到一条消息“下载失败,因为您可能没有购买此应用程序”。

知道为什么在签名版本上,下载器库中存在 SQLite 异常,特别是 DownloadsDB.java?

我的项目构建目标是 2.3.3

我有我的项目引用的 Google Play 许可证、下载器和 Zip 库

我的清单中有以下内容:

TIA,

jb

0 投票
1 回答
1164 浏览

android - 在没有发布者帐户的情况下创建使用扩展文件的应用程序

我刚刚开始为 Android 开发,我没有 Google Play 开发者的许可证。对于我的应用程序,我必须使用 APK 扩展文件。

我试图应用包含在 play_apk_expansion 中的 downloader_sample 代码,但是得到了这个方法抛出的 InvalidKeySpecException

我也有

我如何在没有真实发布者帐户的情况下测试我的应用程序?

0 投票
2 回答
2286 浏览

android - 在 Android 开发者控制台上重用扩展文件

在开发者控制台中更新 APK 时如何重复使用扩展文件?

当我上传一个更高版本代码的新apk时,我无法选择以前使用的主扩展文件...

如果我用新的 apk 再次上传相同的扩展文件,它会被分配一个新的扩展版本,这不是预期的行为。

APK 扩展文件文档:

...开发者控制台允许您通过新的 APK 重新使用上传的扩展文件,扩展文件的名称不会更改 - 它会保留您首次上传文件时应用的版本。

如何在开发者控制台上实现这一点?

0 投票
1 回答
11216 浏览

android - 访问obb扩展文件中的文件

我正在关注所有官方扩展文件指南,但我找不到它。我无法访问我需要的包含的 obb 文件。

我需要 6 个音频文件 (80Mb),我将它们“存储”(未压缩)在一个 zip 文件中并重命名为“main.2001.test.expansion.proj.obb”并存储在“/mnt/sdcard/Android/obb/test”中.expansion.proj/'

我会尝试访问文件

在->assetFileDescriptor = 扩展文件.getAssetFileDescriptor(.....); 我已经尝试了我在不同地方找到的所有东西,但我无法获取文件。如果文件在 zip 中,有什么方法可以从文件名中获取文件?

应用程序应该以特定顺序播放这些文件,我们不想解压缩文件并使它们“公开”。


已编辑。回答我自己

发现,这是我第一次阅读时不明白的一行,或者我只是想念它。

0 投票
1 回答
4899 浏览

android - 扩展文件下载错误。找不到 AAC 文件验证/资源

我遇到了 2 个不同的错误,一个来自平板电脑,另一个来自手机。

我已经将一个带有 4 个音频文件的 ZIP 未压缩文件上传到 Google Play 商店(一天多前),但我遇到了一些问题。

  1. 尝试从一台设备下载时,它会下载扩展文件,并在 99% 时出现错误“AAC 文件验证失败”。

    这是由于“SampleDownloaderActivity”->“protected void onPostExecute(Boolean result)”中的“假”参数造成的

    无论如何,执行

    返回 TRUE 并且 Zip (obb) 中的 mp3 文件工作/播放正确。

  2. 尝试从其他设备下载时,会出现:“下载失败,因为找不到资源”。

    我在控制台中发现了一条消息,我认为该消息将我指向了罪魁祸首。

    [licensechecker] 无法绑定到服务。

搜索后,我尝试过:

  • 对于第 1 期,评论 CRC 检查。它没有帮助。
  • 对于第 2 期,请按照此问题的说明进行操作。它也没有用。

我还没有找到任何解决方案。我在使用“DND-AAC”(从 Google 代码获得)的工作源时遇到了相同的结果。

0 投票
1 回答
40668 浏览

android - 收到错误“下载失败,因为找不到资源”

我制作了像 SampleDownloaderActivity 这样的简单示例项目,我设置了 BASE64_PUBLIC_KEY 和扩展文件的版本和长度,将 apk 和扩展文件上传到 Google Play,保存它们并...在运行应用程序后收到这样的消息:“下载失败,因为资源可能找不到”

0 投票
2 回答
617 浏览

android - Android 扩展文件中的图像显示太小

我正在为我的 Android 应用程序实现扩展文件。

到目前为止,我已经将几个图像和音频文件放入主扩展文件中(我没有使用补丁扩展文件)。没有任何文件被压缩。

通过该应用程序,我可以下载扩展文件,并毫无问题地播放音频文件。在播放扩展文件中的音频文件的同时,我还显示了扩展文件中的图像。但是,图像比我预期的要小得多。

图像为 320x400 像素。在实现扩展文件之前,它在我的应用程序中按预期显示。但是,实施后,图像看起来缩小到大约 50px 宽(高度按比例缩小)。

然后,我尝试了如何从流中创建可绘制对象而不调整其大小中提供的解决方案。虽然图像确实看起来稍大一些,但它仍然比我想要的要小得多(现在看起来大约是 100x125 像素)。目前,我用于显示图像的代码如下所示:

看起来图像仍然没有以其实际大小显示。当我检查扩展文件中的图像时,我可以看到它仍然是 320x400px。但是,应用程序不会以这些尺寸显示图像。

我该怎么做才能让应用程序以正确的尺寸显示图像?

谢谢!

- -更新 - -

我也试过下面的代码,结果没有区别。它看起来仍然是大约 100x125 像素,而不是 320x400 像素,就像它的原始大小一样。

到目前为止唯一有效的是Bitmap.createScaledBitmap(b, bWidth, bHeight, true);

在我的手机上,使用上述方法将图像的原始尺寸加倍(到 640x800 像素)会使图像达到预期尺寸,但我想图像可能会在不同的手机上以不同的尺寸出现(可能是因为屏幕密度/尺寸)。当我尝试将 xlarge 图像尺寸加倍并在平板电脑上查看时,图像看起来比应有的大。

0 投票
2 回答
2895 浏览

android - 无法读取/访问 APK 扩展 (.obb) 文件中的视频文件。它抛出空指针异常

一直在尝试从我的 apk 扩展(.obb 文件)中读取视频,但它似乎不起作用。已按照官方 android 文档中提到的每个步骤进行操作。我正在使用示例应用程序(Android-sdk/extras/google/play_apk_expansion/downloader_sample 中的示例下载器应用程序)来测试我是否可以读取 .obb 文件。这就是我所做的。

  1. 从我的 .mp4 视频文件中创建压缩文件(零压缩)作为“videos.zip”。

  2. 使用 Android 'jobb' 工具成功创建了 .obb 文件。

  3. 将 obb 文件 (main.6.com.example.expansion.downloader.obb) 放在 /sdcard/Android/obb/com.example.expansion.downloader/ 中。

  4. 创建了一个新的 MediaPlayerActivity 类(MediaPlayerActivity.java),我试图在 .obb 文件中播放视频文件。

    /li>

还尝试了以下(以防万一)

请帮助人们。

谢谢!

编辑:我想我可能已经找到了错误的根源。但仍然不知道如何修复它。实际上,expansionFile 本身包含空值。

此外,我之前可能错过的 logcat 中还有一个错误:->“不是 Zip 存档”,它可以追溯到 ZipResourceFile.java 中的 addPatchFile(zipFilename) 方法。

现在,当我尝试跟踪方法调用时,我发现我的

APKExpansionSupport.getAPKExpansionZipFile(...)依次调用getResourceZipFile(expansionFiles),后者又调用addPatchFile(expansionFilePath),它在此处显示日志->“不是 zip 存档”,如代码片段中所示。所以我想,.obb 文件应该被转换为我所做的 zip 文件(再次零压缩)并将 obb 文件重命名为“main.6.com.example.expansion.downloader.obb.zip”(并且出于显而易见的原因。我还将代码中的 obb-path 重命名为 <...>.obb.zip)。完成所有这些后,现在扩展文件不包含空值,但仍然是我的AssetFileDescriptor afd被赋予空值。好吧,显然这种方法对我来说似乎有缺陷(因为我认为 .obb 文件不应该压缩到 <..>.obb.zip。在压缩后也尝试使用相同的 obb 文件名(即,没有任何 .zip扩展名。)。它也不起作用)。

请帮忙。

PS:已经在“stackoverflow”和网络上查找了所有内容,但没有一个有帮助。