我有一个未通过Google Play商店部署的应用。
它具有自己的APK文件服务器,并且以前没有"更新"功能。由于它是专用的应用程序,因此需要更新应用程序的用户只需要卸载当前应用程序并安装新应用程序即可。
现在,我需要通过Google Play更新这些已安装的应用程序。
问题是:
我可以通过Google Play商店更新通过APK文件安装的应用吗?
经过测试的环境:
- Google Play服务11.7.46
- Play商店8.4.19
- 银河S7
- 仅发布了Koeran市场。
我试过了:
1)建立三个测试APK版本1、2、3。
2)部署版本2并通过Google Play商店更新版本3。
3)[FAILED]通过ADB安装APK版本1,无法通过Google Play商店更新。 (在我的测试应用的google play页面中,我可以看到"取消安装/打开"按钮
这正是我想要做的。
4)[FAILED]通过ADB安装APK版本2,无法通过Google Play商店更新。 (在我的测试应用的google play页面中,我可以看到"取消安装/打开"按钮
我的一些同事说这种情况是可能的,但我没有做到。
我发现签名的APK与Google Play提取的APK之间的区别。通过二进制比较,许多文件是不同的。
特别是AndroidManifest.xml,此信息已添加到Google Play提取的apk中。
可以更新从Google Play发布页面下载的旧版本apk。
我在下面找到了答案,但是对于我来说似乎不起作用。
可用更新时,手动安装的apk(不是从Play商店)会收到通知吗?
you will receive updates / see the app in the Google Play"installed
apps" tab only if the two conditions will take place:the APK package name is the same as the one uploaded to Google Play
the keystore used to sign the app in the play store is the same
keystore used to release the apk you install manually.
为了通过Play进行更新,该应用必须位于"用户库"中。 这是一个很难的概念,但基本上可以归结为"用户是否曾在任何设备上通过Play安装它"。 如果用户将其存储在用户库中,并且签名与Play商店中的签名相同,则该应用将更新。
如果用户从未从Play安装它,则Play不会更新它。
因此,除非用户先前已在任何设备上通过Play安装了它,否则您不会发生想要的事情。