我已按照以下步骤使用Google上传证书对APK进行签名。
创建密钥
keytool -genkey -v -keystore XXXXX.keystore -alias XXXXX -keyalg RSA -keysize 2048 -validity 10000
从Google导入了上传证书
keytool -importcert-文件upload_cert.der -keystore XXXXX.keystore
然后我列出有关密钥存储的信息
keytool -list -v -keystore XXXXX.keystore -storepass密码
从那里我可以看到Google的进口商证书具有别名“ mykey”
当我尝试使用别名“ mykey”对apk进行签名时 jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore XXXXX.keystore android-release-unsigned.apk XXXXX
我收到以下错误: mykey必须引用有效的KeyStore密钥条目,该条目包含私钥和相应的公钥证书链。
答案 0 :(得分:1)
签名APK不仅需要证书(公开信息),还需要私钥。尽管Play控制台为方便起见与您共享证书,但只有您有权访问私钥。上载密钥是您用来签署第一个上载的APK的密钥(假设您此时已注册使用Play进行应用签名):只需使用与第一次上载相同的密钥库+别名进行重新签署,就可以了。 如果您丢失了最初签名时使用的密钥,则可以与Play支持团队联系以重置密钥。