【问题标题】:Release apk install/update app from google play从 google play 发布 apk 安装/更新应用程序
【发布时间】:2019-02-28 19:16:25
【问题描述】:

以下是情况:

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

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

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

但是如果我

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

您能否描述一下额外的安全检查器有一些限制或我这边有什么问题?

【问题讨论】:

    标签: android google-play apk


    【解决方案1】:

    您可能已登录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 应用签名。

    【讨论】:

      【解决方案2】:

      另一种解决方案:

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

      【讨论】:

      • 新的 google play 控制台好像没有这个功能。
      猜你喜欢
      • 1970-01-01
      • 2016-05-19
      • 1970-01-01
      • 2022-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-24
      • 1970-01-01
      相关资源
      最近更新 更多