我正在尝试获取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
我做错了什么?
答案 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