6

我正在尝试使用此代码使用 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 列出我的密钥库中的别名时,我可以看到别名 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

任何想法为什么会发生这种情况?

4

2 回答 2

1

生成密钥库时,不要使用任何非法字符,尤其是在密码中。我的密码中有“#”。仅包含字母和数字的生成新密钥允许我签署应用程序。

在此处找到更多解释/答案: Visual Studio 的 AndroidApkSigner 在密钥库中找不到密钥

于 2020-02-05T14:43:29.927 回答
0

请检查 Keystore 完整文件名,并确保您使用与您在安全文件(在库中)中上传的相同 .keystore 文件,该文件使用别名、密码。

于 2020-07-24T20:14:13.240 回答