Google Play APK扩展文件如何运作?

时间:2014-09-05 16:38:25

标签: android cordova google-play google-play-services

修改 总之,Google Play APK扩展文件比我最初想象的要简单得多,也不那么复杂。我创建了一个Cordova插件,可以帮助我使用APK扩展文件。我的代码也可能对本机实现有用: https://github.com/agamemnus/cordova-plugin-xapkreader


我们说我使用扩展文件将APK上传到Google Play。

  • 我找不到可以更新或删除该扩展文件的地方。
  • 当我上传新的APK时,我不知道是否应该重新上传扩展文件。

我是否正确将扩展文件应用于用户'当前的游戏和新的安装?它没有任何意义!我需要一个流程图,一张图片,一个穴居人的图纸,任何东西!

以下是三个示例情况......结果是什么?

情况1

1)开发者发布带有APK和扩展文件的应用程序。

2)用户A下载该应用程序。

3)开发者仅使用APK发布应用程序。

4)用户B下载应用程序。

用户B是否在#4之后有扩展文件?

用户A是否在#4之后有扩展文件?

情况2

1)开发者发布带有APK和扩展文件的应用程序。

2)用户A下载该应用程序。

3)开发者使用APK和相同的扩展文件发布应用程序。

4)用户B下载应用程序。

用户B在#4后有两个相同的扩展文件或一个扩展文件吗?

用户A在#4之后是否有两个相同的扩展文件或一个扩展文件?

情况3

1)开发者仅使用APK发布应用程序。

2)用户A下载该应用程序。

3)开发者使用APK和扩展文件发布应用程序。

4)用户B下载应用程序。

用户A是否有扩展文件?

2 个答案:

答案 0 :(得分:5)

扩展文件随APK一起下载,并与APK的特定版本相关联(由versionCode确定)。当您上传新的扩展文件时,必须上传新的APK并更新versionCode。上传新APK时,您可以选择上传新的扩展文件,也可以选择将新版本与现有的扩展文件关联,也可以选择不将其与任何扩展文件关联。

当Play商店更新您的应用时,它会更新应用安装以匹配您为扩展文件选择的配置。如果您没有更改文件,则不会重新下载。如果您更新了它,Play商店将下载更新。如果您删除了该文件,Google Play会将其删除。

如果Play商店无法为您执行这些操作,请记住you may need to this manually。基本上,您的应用应始终确保Play商店执行正确的操作,并应做出相应的反应。

情况1

  

用户B是否在#4之后有扩展文件?

     

用户A是否在#4之后有扩展文件?

不,不。

情况2

  

用户B在#4后有两个相同的扩展文件或一个扩展文件吗?

     

用户A在#4之后是否有两个相同的扩展文件或一个扩展文件?

他们俩都只有一个。

来自the expansion file documentation on storage location

  

对于每个应用程序,此目录中的扩展文件永远不会超过两个。

这里引用的两个扩展文件是主文件和补丁文件。用户永远不会有多个。

情况3

  

用户A是否有扩展文件?

为了实现这一目标,您还需要上传带有更新版本代码的APK。这将触发用户A设备的更新,其中包括下载(或尝试下载)扩展文件。

答案 1 :(得分:1)

在使用APK文件一段时间后,我制作了一个Cordova插件,该插件消除了许多手动检查,使其非常容易出错且难以使用Google Play APK扩展。 (即使Android SDK的示例应用程序框架充满了错误 - 例如,主要/补丁文件中的歧义)如果不使用Cordova,可以修改一些代码以满足一个人的需求。

我所有的插件需求都是指向附带的Android库的链接,来自应用程序的公钥以及唯一的扩展权限URL。 (根据Google Play的设计,它也是全球性的)

https://github.com/agamemnus/cordova-plugin-xapkreader