【问题标题】:Android APK signed by different vendors由不同供应商签名的 Android APK
【发布时间】:2018-08-14 16:59:43
【问题描述】:

我们正在为我们的一位客户开发一个移动应用程序,该客户目前在 Google 的 Play 商店中有一个应用程序版本。

当前应用是由外部供应商 A 开发的,所以我们的客户一直在上传带有他签名的应用。

现在,我们想用我们开发的新应用进行生产(我们是供应商 B)。

客户端已经给了我们用于签名的密钥库文件、密钥别名和密码,因此我们能够生成具有相同包名 (com.myclient.myapp) 的 APK。我们正在使用 V1 进行签名(与旧应用的签名方式相同)。

当我们尝试从旧应用更新到新应用时,问题就开始了。在 Android 设备中,我们安装旧应用程序,然后尝试更新到新应用程序。 Android 不允许我们安装新签名的 APK,因为我们知道这两个应用程序的签名似乎不同。

我们需要有关此主题的帮助。你能帮忙吗?提前非常感谢!

【问题讨论】:

  • 你真的正确签名了吗?
  • 在放入 Playstore(第一个版本)后必须更改您或您的供应商的任何包名称
  • 而旧版的应用程序是否仅从 Playstore 安装??
  • 旧应用是否使用了“Google Play 应用签名”?
  • 签名已经执行,没有任何问题,问题是在旧应用上安装新应用时。两个应用程序使用相同的包名称。这个想法是用新的(由我们开发的)更新旧的应用程序(由第一个供应商开发)。我已要求客户确认旧应用是否已使用 Google Play 签名进行签名。感谢大家的帮助。

标签: android apk signature


【解决方案1】:
  1. 软件包名称不应与您所做更改的早期供应商匹配。
  2. 在生成签名的 APK 并上传到 Playstore 之前检查 gradle 版本。
  3. 在清单中检查版本名称和版本代码正在更新。
  4. 在生成签名的 APK 时,选中所有带有签名的完整 APK 的复选框。

【讨论】:

  • 谢谢,我们的想法是使用相同的包,这样我们就可以在所有设备上从旧应用更新到新应用。所以必须维护包名。我将检查第 2,3 和 4 点并更新此线程。
【解决方案2】:

“Google Play 应用签名”是一个两步过程。您使用上传密钥对 APK 进行签名,然后 Google 会检查此签名并使用另一个密钥重新签署 APK。

如果这用于旧应用程序,您将无法使用本地签名的应用程序升级从商店下载的应用程序,因为签名密钥不同。

但是,如果您将新应用上传到 Play 商店,它将起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-20
    • 1970-01-01
    • 1970-01-01
    • 2011-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多