必须引用包含私钥和相应 public 密钥证书链的有效 KeyStore 密钥条目

must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain

我已完成以下步骤以使用 Google 上传证书签署 APK。

  1. 从 google Play 开发者网站的应用程序签名部分获得了上传证书。
  2. 创建了一个密钥

    keytool -genkey -v -keystore XXXXX.keystore -alias XXXXX -keyalg RSA -keysize 2048 -validity 10000

  3. 从 Google

    导入了上传证书

    keytool -importcert -file upload_cert.der -keystore XXXXX.keystore

  4. 然后我列出密钥库的信息

    keytool -list -v -keystore XXXXX.keystore -storepass 密码

  5. 从那里我可以看到来自 Google 的进口商证书有别名 "mykey"

  6. 当我尝试使用别名对 apk 进行签名时 "mykey" jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore XXXXX.keystore android-release-unsigned.apk XXXXX

我收到以下错误: mykey 必须引用包含私钥和相应 public 密钥证书链的有效 KeyStore 密钥条目。

签署 APK 不仅需要证书(即 public 信息),还需要私钥。尽管 Play 管理中心为方便起见与您共享证书,但只有您可以访问私钥。上传密钥是您用于签署您上传的第一个 APK 的任何密钥(假设您此时注册了 App Signing by Play):只需使用与第一次上传相同的密钥库 + 别名重新签名,就可以了。 如果您丢失了最初用于签名的密钥,则可以联系 Play 支持团队重置密钥。