Keytool别名不存在

时间:2011-08-03 11:20:54

标签: android android-mapview keytool

我正在尝试获取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

我做错了什么?

3 个答案:

答案 0 :(得分:23)

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

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

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

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

(OR)

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&gt; keytool.exe -list -alias androiddebugkey -keystore“C:\ ANDROID \ debugkey \ debug.keystore”-storepass android -keypass android < / p>

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

答案 1 :(得分:6)

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

在运行此命令后,我在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项目,而不是debug.keystore中的/home/el/.android/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

答案 2 :(得分:0)

这是对我有用的方法,首先转到您的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