从Google Play发布APK安装/更新应用程序

时间:2019-02-28 19:16:26

标签: android google-play apk

以下是这种情况:

我有一个已发布到Google Play商店的应用程序(版本代码:100,版本名称1.100)。 我要添加的功能允许人们使用apk(发行版)从网站而不是Play商店中更新apk。

但是在测试过程中,我发现了以下问题:

  • 从商店下载当前应用(v-100)
  • 然后尝试使用我编译的APK安装(更新)
  • 结果-“未安装应用程序”。

但是如果我

  • 安装手动创建的旧APK(与上传到商店的完全相同)
  • 尝试安装上传到商店的手工创建的APK更新
  • 一切正常

能不能请您描述一些额外的检查程序安全性限制或我这边有什么问题?

2 个答案:

答案 0 :(得分:1)

您可能已登录Google Play App Signing

每个Android应用is signed with a key。当手机尝试安装更新时,必须使用与原始应用相同的密钥对更新进行签名。这是为了用户的安全。这将阻止创建虚假版本的WhatsApp或Facebook(或您的应用程序),并诱使用户安装它。错误的开发人员可以使用相同的程序包名称创建一个应用程序,但是无法访问该密钥,因此可以保护用户。

当您通过Google Play应用签名进行交付时,Google会使用您的密钥(“上传密钥”)删除签名,并使用新的Google Play密钥对其进行签名。这是一件好事。如果您丢失了上传密钥,它将为您提供保护,否则,Google将无能为力。

但这就是为什么升级不会发生的原因。您手动创建的应用已使用您的上传密钥进行了签名,因此不会更新从Google Play安装的应用。

这是一件好事。您不希望从一个来源(例如Google Play)安装的用户从另一个来源进行更新,例如从网站上进行下载。这会使他们面临严重的有害假冒应用程序风险。

但是,如果您确实要执行此操作,则无需使用Google Play应用签名。

答案 1 :(得分:0)

替代解决方案:

您可以将已签名的apk上传到Google Play控制台,然后下载新的已签名的apk并将其放在您的网站或其他任何地方。