我正在增强在Play商店推出的现有应用程序,现在,我想发布新版本。以前的开发人员给了我keystore文件。我无法继续签署apk文件。
我使用以下命令生成了.crt文件:
keytool -export -alias appname -file appname -keystore keystore
然后我尝试使用以下命令导入:
keytool -import -alias appname -file appname.crt -keystore keystore
我收到如下错误:
keytool error: java.lang.Exception: Certificate reply and certificate in keystore are identical
所以,我使用以下命令删除了别名:
keytool -delete -alias appname -keystore keystore
然后我尝试重新导入,它显示输出如下:
keytool -import -alias flavorsome -file flavorsome.crt -keystore keystore
Enter keystore password:
Owner: CN=Name, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknow
n
Issuer: CN=Name, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unkno
wn
Serial number: number
Valid from: Thu Jul 28 09:34:07 IST 2016 until: Mon Dec 14 09:34:07 IST 2043
Certificate fingerprints:
MD5: md5:md5
SHA1: A1:B1:C1
SHA256: 00:00:00
Signature algorithm name: SHA256withRSA
Version: 3
Extensions:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 08 EC 2B 67 A0 94 11 A0 BA 43 C9 8C DB A8 D1 61 ..+g.....C.....a
0010: 0E C4 68 29 ..h)
]
]
Trust this certificate? [no]: yes
然后我尝试签署apk文件,我收到如下错误:
jarsigner -verbose -sigalg SHA1
withRSA -digestalg SHA1 release-unsigned.apk appname
Enter Passphrase for keystore:
jarsigner: Certificate chain not found for: appname. appname must referen
ce a valid KeyStore key entry containing a private key and corresponding public
key certificate chain.
我的主要问题是如何进一步使用给定的密钥库文件签署apk文件?
答案 0 :(得分:1)
如果您已经拥有密钥库文件,则不需要生成新的.crt文件。 可能https://developer.android.com/studio/publish/app-signing.html#sign-manually有用。
答案 1 :(得分:0)
我使用以下命令对其进行了签名:
jarsigner release-unsigned.apk appname -keystore keystore
然后在游戏商店中使用zipaligned it和生成的apk文件。