修改 总之,Google Play APK扩展文件比我最初想象的要简单得多,也不那么复杂。我创建了一个Cordova插件,可以帮助我使用APK扩展文件。我的代码也可能对本机实现有用: https://github.com/agamemnus/cordova-plugin-xapkreader
我们说我使用扩展文件将APK上传到Google Play。
我是否正确将扩展文件应用于用户'当前的游戏和新的安装?它没有任何意义!我需要一个流程图,一张图片,一个穴居人的图纸,任何东西!
以下是三个示例情况......结果是什么?
情况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是否有扩展文件?
答案 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的设计,它也是全球性的)