【问题标题】:Manual apk signing (jarsigner) vs automatic apk signing (android studio) - result is different APK手动 apk 签名 (jarsigner) 与自动 apk 签名 (android studio) - 结果是不同的 APK
【发布时间】:2021-03-07 15:11:17
【问题描述】:

我刚刚继承了一个 2013 年创建的旧项目。

这些家伙曾经构建一个未签名的 apk,然后运行这些命令:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore keystore.keystore app-release-unsigned.apk alias
jarsigner -verify app-release-unsigned.apk    
zipalign -v 4 app-release-unsigned.apk app-release-signed.apk

然后将签名的apk上传到play store。

但是,当我使用 android studio 生成签名 apk 时,会导致 apk 具有不同的签名。

结果当我上传到play store时,它显示错误:

您上传了一个使用不同证书签名的 APK 您以前的 APK。您必须使用相同的证书。您现有的 APK 使用带有指纹的证书进行签名:SHA1: sha1..#1 和用于签署您上传的 APK 的证书有 指纹:SHA1: sha1..#2

有没有办法用 android studio 对 apk 进行签名,从而得到相同的 apk?

这不是最方便的手动签名方式...

谢谢

【问题讨论】:

标签: android google-play android-keystore


【解决方案1】:

你使用的keystore.keystore应该和之前开发者使用的一样。 Android Studio 中的那个正在为每台电脑生成唯一的。您应该找到正确的 keystore.keystore。

【讨论】:

    【解决方案2】:

    您需要使用与他们之前使用的相同的keystore.keystore 文件。 从错误消息中,Google Play 发现您没有使用相同的证书(在原始 keystore.keystore 文件中)。

    此外,如果是 2013 年的,它应该是 V1 签名,所以如果您更喜欢使用 android studio 进行签名,则需要使用 android studio 选择 V​​1 而不是 V2。

    【讨论】:

      【解决方案3】:

      大约两年前,我也遇到过类似的问题。尽管我在第一个版本和下一次更新中使用 Android Studio 生成了 Keystore 文件,尽管使用的是相同的 Keystore 文件,但 Play Store 向我显示了该错误。我联系了 Play Store 团队,他们为我提供了新的 Keystore 文件以及一些生成新文件的步骤。花了一两个星期,但最后,我能够上传 APK。我建议您联系 Play 商店(Play 控制台)支持。谢谢。

      【讨论】:

        猜你喜欢
        • 2015-08-06
        • 2011-11-04
        • 2016-06-29
        • 2017-08-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-14
        相关资源
        最近更新 更多