我想在Playstore中上传我的应用程序,该应用程序将替换我过去未加载的旧版本。当我尝试上传我的应用时出现以下错误:
You uploaded an APK that is signed with a certificate other than that
of your previous APK. You must use the same certificate.
The APK existing certificates are signed by these fingerprint:
[SHA1: .... ]
The certificates used to sign the APK that you have loaded these fingerprint:
[SHA1: .... ]
如何让密钥库具有正确的指纹?
答案 0 :(得分:0)
如何让密钥库具有正确的指纹?
Google Play依赖于密钥连续性,以确保发布应用的开发人员是更新应用的开发人员。
您应该在计算机上安装相同的公钥/私钥,然后使用私钥对APK进行签名。最后,将APK重新提交给Play商店。
如何从现有指纹开始创建密钥库?
你做不到。您需要原始的公钥/私钥对。
您可以从现有的APK获取公钥。只需查看META-INF
目录即可。证书或公钥位于那里。
但是 ,您必须将RSA公钥用于恢复私钥(或解决相关问题,如有限字段中的离散根)。它是非平凡的,如果你这样做,那么你就不会在乎签署APK了:)。例如,请参阅加密堆栈交换中的Calculating private keys in the RSA cryptosystem。
以下是使用jarsigner
和调试密钥从命令行进行签名的方法。论证的顺序很重要。您应该使用真正的公钥/私钥对,而不是调试密钥。
jarsigner -verbose -keystore C:\Users\<user>\.android\debug.keystore \
-storepass android -keypass android -digestalg SHA1 \
-sigalg SHA1withRSA <package name>.apk androiddebugkey