【问题标题】:Apk signer entry does not contain a keyApk 签名者条目不包含密钥
【发布时间】:2020-07-25 04:14:13
【问题描述】:

我正在尝试使用此代码使用 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

知道为什么会发生这种情况吗?

【问题讨论】:

  • 你有没有解决过这个问题,因为我面临着完全相同的问题。建议的副本没有提供解决方案
  • @marceldevris 据我记得这是因为我的密钥被标记为“Android 调试”。我从来没有解决这个问题,相反,我生成了一个新密钥并联系谷歌将其更新为我的应用上传密钥

标签: android keytool apksigner


【解决方案1】:

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

更多解释/答案在这里找到: Visual Studio's AndroidApkSigner does not find key in keystore

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-25
      • 2019-02-02
      • 2013-12-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多