【问题标题】:App signed with multiple certificates rejected使用多个证书签名的应用被拒绝
【发布时间】:2015-12-27 22:33:13
【问题描述】:

我正在尝试在 google play 上升级我的应用程序(使用 appinventor 1.0 开发)。我正在使用相同的密钥库,但收到以下消息(抱歉,我不知道这是否重要,但为了安全起见,我在 SHA1 之后更改了以下一些密钥:):

Upload failed
Your APK has been signed with multiple certificates. Please only sign it with one certificate and upload it again.
You uploaded an APK that is signed with a different certificate to your previous APKs. You must use the same certificate. Your existing APKs are signed with the certificate(s) with fingerprint(s):
[ SHA1: A6:D5:E5:66:34:84:B5:31:8E:8F:79:D7:2A:38:B1:54:5E:29:27:22 ]

and the certificate(s) used to sign the APK you uploaded have fingerprint(s):

[ SHA1: A6:D5:E5:66:34:84:B5:31:8E:8F:79:D7:2A:38:B1:54:5E:29:27:22,
SHA1: 0D:28:AC:88:7C:D8:FD:0C:BA:A7:46:BC:70:7E:EA:37:9F:A1:CC:84 ]

我之后使用 jarsigner 和 zipalign。 SHA1 的第一部分是完全复制的,但在逗号后有一个额外的 SHA1。

有什么线索吗?

【问题讨论】:

    标签: android apk sha1 jarsigner


    【解决方案1】:

    可能您使用的是相同的密钥库,但不是相同的证书。要更新您的应用程序,您需要使用与提交应用程序完全相同的配置(密钥库和证书)。

    【讨论】:

    • 谢谢。我使用的命令与之前使用的命令完全相同!知道如何确保使用相同的证书吗?
    • 确定 4) 签署证书 jarsigner -verbose -keystore an.mo.keystore KM123.apk an.mo 5) ZIPALIGN ~/android-sdk-macosx/tools/zipalign -v 4 KM123.apk 版本.apk
    • 我也尝试了更详细的签名,像这样使用 sigalg 和 digestalg,但我得到了相同的结果 $ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore my_application。 apk 别名名称
    • 看起来您缺少一些步骤,请按照本教程操作:developer.android.com/tools/publishing/…
    • 感谢您的检查。我完全按照该教程进行操作。第 1 步是我 3 年前完成的私钥的生成,我相信我不应该改变。第 2 步是生成未签名的应用程序,我这样做了。我还验证了签名(教程中的第 4 步)。其他一切都一样。
    【解决方案2】:

    我的猜测是您的 apk 中存在另一个签名。 将 .apk 文件重命名为 .zip 并删除所有存在的签名。然后重命名并执行 jarsign 和 zipalign。

    【讨论】:

      猜你喜欢
      • 2015-10-18
      • 1970-01-01
      • 2018-02-11
      • 1970-01-01
      • 1970-01-01
      • 2016-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多