【问题标题】:Keytool alias does not existKeytool 别名不存在
【发布时间】:2011-08-03 11:20:53
【问题描述】:

我正在尝试获取我的debug.keystore md5 密钥,以便获取 Google 地图的 API 密钥。

我运行命令:

 keytool –genkeypair -alias armand -keypass pass

然后运行命令:

keytool -list -alias armand -keystore debug.keystore

然后我输入我的密码,它给了我以下错误:

keytool error: java.lang.Exception: Alias <armand> does not exist

我做错了什么?

【问题讨论】:

    标签: android android-mapview keytool


    【解决方案1】:

    这是获取密钥的正确方法:

    要获取证书指纹 (MD5),请按照以下步骤操作:

    您需要获取用于获取证书指纹 (MD5) 的密钥库文件。 您的密钥库文件可以在以下路径中找到:

    C:\Documents and Settings\<username>\Local Settings\Application Data\Android
    

    (或)

    C:\Documents and Settings\<username>\.android
    

    密钥库文件名为debug.keystore。 将“debug.keystore”文件复制到其他文件夹(例如:-“D:\Androidkeystore\”)(用户友好使用)。 打开命令提示符并转到 Java 安装目录。 ("C:\Program Files\Java\\bin") 然后键入以下行(在框中给出)并按 Enter。

    keytool.exe -list -alias androiddebugkey -keystore "D:\AndroidKeystore\debug.keystore" -storepass android -keypass android
    

    这里是MD5证书指纹

    64:88:A2:FC:AA:9F:B1:B0:CA:E4:D0:24:A8:1E:77:FB
    

    这是有效的,但我在这里遇到小错误:

    这是我的路径-C:\ANDROID\Java\jdk1.6.0\bin>keytool.exe -list -alias androiddebugkey -keystore"C:\ANDROID\debugkey\debug.keystore"-storepass android -keypass android

    keytool error: java.lang.RuntimeException: Usage error, android is not a 
    legal command
    

    【讨论】:

    • @Dr.nik 嘿,你刚刚结束了 2 天的地狱。我的地图没有显示,不知道您必须针对 debug.keystore 运行 keytool。谢谢老兄:)
    • 我可以将调试密钥库应用到生产环境吗?由于实际的密钥库不起作用(未找到别名)
    • 请帮助兄弟,我收到此错误 - keytool error: java.lang.Exception: Alias does not exist ,但如果我使用 keytool -v -list -keystore 我会得到详细信息C:\Users\User1\.android\debug.keystore
    【解决方案2】:

    您使用了错误的密钥库。您将不得不使用不同的密钥库。

    在 Fedora 上运行此命令后,我也遇到了同样的错误:

    keytool -exportcert -alias androiddebugkey -keystore androidKey -list -v
    

    错误:

    keytool error: java.lang.Exception: Alias <androiddebugkey> does not exist
    java.lang.Exception: Alias <androiddebugkey> does not exist
    

    我在这种情况下犯的错误是我使用密钥库来签署我的 android APK 项目,而不是位于 /home/el/.android/debug.keystore 中的 debug.keystore

    我将其更改为使用正确的密钥库,如下所示:

    [el@rosewill .android ]$ keytool -exportcert -alias androiddebugkey -keystore /home/el/.android/debug.keystore -list -v
    Enter keystore password:  ******
    

    它产生了这个输出:

    Alias name: androiddebugkey
    Creation date: Aug 31, 2013
    Entry type: PrivateKeyEntry
    Certificate chain length: 1
    Certificate[1]:
    Owner: CN=Android Debug, O=Android, C=US
    Issuer: CN=Android Debug, O=Android, C=US
    Serial number: 14be2b38
    Valid from: Sat Aug 31 21:43:47 EDT 2013 until: Mon Aug 24 21:43:47 EDT 2043
    Certificate fingerprints:
             MD5:  47:D1:3C:AD:3C:6D:49:22:26:01:6B:C8:4D:C0:37:42
             SHA1: 10:96:22:A1:3C:3B:4A:14:2D:B7:5E:62:1D:D7:9B:0B:24:EE:DF:BD
             SHA256: DF:BF:A9:5D:B8:AE:7D:FF:7E:E7:62:84:8F:32:9A:29:19:C6:41:82:83:FA:0B:D0:1B:59:15:AE:4D:D8:38:D1
             Signature algorithm name: SHA256withRSA
             Version: 3
    
    Extensions: 
    
    #1: ObjectId: 2.5.29.14 Criticality=false
    SubjectKeyIdentifier [
    KeyIdentifier [
    0000: 1A 32 1F F0 03 E0 23 34   6F GE 78 CC E3 10 B5 61  .0....)4o.x....a
    0010: 6D 6F F1 38                                        mo.8
    ]
    ]
    

    作为参考,这些是我遵循的方向:

    从这里:https://developers.google.com/+/quickstart/android

    在终端中,运行 Keytool 实用程序以获取证书的 SHA-1 指纹。对于 debug.keystore,密码是 android。

    keytool -exportcert -alias androiddebugkey -keystore <path-to-debug-or-production-keystore> -list -v
    

    【讨论】:

      【解决方案3】:

      这对我有用,首先转到您的 JDK/bin 目录,在我的情况下是 C:\Program Files\Java\jdk-12.0.1\bin,单击目录路径并写入 cmd 以打开命令提示符或直接打开 cmd 并导航到您的 JDK \bin 目录。

      然后写:

      keytool -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore
      

      当提示输入密码时:android

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-09-28
        • 1970-01-01
        • 2018-09-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多