这是Google关于签署APK的文档: https://developer.android.com/studio/publish/app-signing.html
文档看起来相当简单。我已经能够将各种其他页面和Stack Overflow线程中的进程拼凑在一起。但是,在我签署APK之后,APK中的SHA-1证书指纹是错误的,这意味着我没有使用正确的证书签署APK。
您上传了未使用上传证书签名的APK。 您必须使用相同的证书。上传证书有 指纹:
[SHA1:FINGERPRINT]
以及用于签署您上传的APK的证书 指纹:
[SHA1:FINGERPRINT]
我的问题是:如何确保我生成的密钥库使用Google Play控制台中的上传证书?
这就是我的所作所为:
我缺少哪些步骤?
注意:Google文档说这是手动签名的过程:
https://developer.android.com/studio/publish/app-signing.html#sign-manually
keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias
apksigner sign --ks my-release-key.jks --out my-app-release.apk my-app-unsigned-aligned.apk
但是这些步骤不会以任何方式使用上传证书......
现在,您的现有应用的所有更新都必须通过上传进行签名 键。这样,Google就可以验证您的身份。
这完全合情合理。从本质上讲,我尝试做的就是使用Google的上传密钥对APK进行签名。我有上传密钥。但是,Google没有记录的步骤是如何将上传密钥转换为密钥库,以便我可以使用密钥库对APK进行签名。它看起来很直接,但它不起作用。
答案 0 :(得分:1)
好像你丢失了你的私钥。上传证书是您第一个上传应用的证书,并在您上传时创建。您需要使用该.keystore
文件对您的应用进行签名。
如何确保我生成的密钥库使用Google Play控制台中的上传证书?
这是不可能的。根据Google Manage your app signing keys:
证书:证书包含公钥以及一些额外的证书 识别谁拥有密钥的信息。
证书不包含私钥。所以它不能用于创建密钥库。
解决此问题的唯一方法是重置上传密钥,如上面article所示。
您可以参考以下指南,了解xamarin中的发布应用:
Publishing to Google Play
Signing the Android Application Package
Manually Signing the APK