我正在尝试使用此代码手动使用APK签名者签名APK
apksigner sign --ks D:\Android\SDK\keystores\release.keystore --ks-key-alias uploadcertificate --out app-release.apk app.apk
但它给我一个错误说
Failed to load signer "signer #1": D:\Android\SDK\keystores\release.keystore entry "uploadcertificate" does not contain a key
然而,当我使用keytool列出我的密钥库中的别名时,我能够看到alias uploadcertificate。
keytool -v -list -keystore D:\Android\SDK\Keystores\release.keystore
Enter keystore password:
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 1 entry
Alias name: uploadcertificate
Creation date: May 21, 2018
Entry type: trustedCertEntry
Owner: C=US, O=Android, CN=Android Debug
Issuer: C=US, O=Android, CN=Android Debug
Serial number: 1
Valid from: Mon Feb 13 23:47:57 IST 2017 until: Wed Feb 06 23:47:57 IST 2047
Certificate fingerprints:
MD5: **:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**
SHA1: **:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**
SHA256: **:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**
Signature algorithm name: SHA1withRSA
Subject Public Key Algorithm: 1024-bit RSA key
Version: 1
任何想法为什么会发生这种情况?
答案 0 :(得分:0)
生成密钥库时,请不要使用任何非法字符,尤其是密码。我的密码中有“#”。带有字母和数字的Generatin新密钥允许我对应用程序进行签名。
在此处找到更多说明/答案: Visual Studio's AndroidApkSigner does not find key in keystore
答案 1 :(得分:0)
请检查“密钥库”的完整文件名,并确保使用与使用别名,密码的安全文件(在“库”中)上载的.keystore文件相同。