以下是这种情况:
我有一个应用程序,我已发布到Google Play商店(版本代码:100,版本名称1.100)。我想添加功能允许人们使用apk(发布)从网站而不是Play商店更新应用程序。
但在测试过程中,我发现了以下问题:
但如果我
你能否描述一下,为了安全起见还有其他限制因素,或者我身边有什么不对劲?
你可能已经登录了Google Play App Signing。
每个Android应用程序is signed with a key。当手机尝试安装更新时,必须使用与原始应用相同的密钥对更新进行签名。这是为了用户的安全。这会阻止正在创建WhatsApp或Facebook(或您的应用程序)的虚假版本,并且用户会欺骗安装它。糟糕的开发人员可以使用相同的包名创建应用程序,但无权访问该密钥,因此这可以保护用户。
当您通过Google Play App Signing进行投放时,Google会使用您的密钥(“上传密钥”)删除签名,并使用新的Google Play密钥对其进行签名。这是一件好事。如果您丢失了上传密钥,它可以保护您,如果没有这个,Google就无法帮助您。
但这就是升级没有发生的原因。您手动创建的应用程序已使用您的上传密钥进行签名,因此它不会更新从Google Play安装的应用。
这是一件好事。您不希望从一个来源(例如Google Play)安装的用户从其他来源更新,例如从网站下载。这将使他们面临有害假冒应用程序的严重风险。
但是,如果您真的想这样做,则无需使用Google Play App Signing。