web-dev-qa-db-ja.com

Keytoolエイリアスが存在しません

GoogleマップのAPIキーを取得できるように、debug.keystore md5キーを取得しようとしています。

私はコマンドを実行します:

 keytool –genkeypair -alias armand -keypass pass

そして、コマンドを実行します:

keytool -list -alias armand -keystore debug.keystore

次にパスワードを入力すると、次のエラーが表示されます。

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

何が悪いのですか?

18
Armand

これは正しいキーを取得する方法です:

証明書のフィンガープリント(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
24
Nikunj Patel

間違ったキーストアを使用しています。別のキーストアを使用する必要があります。

この同じコマンドを実行した後、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

この場合の間違いは、debug.keystoreにある/home/el/.Android/debug.keystoreではなく、キーストアを使用してAndroid APKプロジェクトに署名することでした:

次のように適切なキーストアを使用するように変更しました。

[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
6
Eric Leschinski

これは私にとってうまくいきました、最初にJDK/binディレクトリに移動します。私の場合、これはC:\Program Files\Java\jdk-12.0.1\binで、dirパスをクリックしてcmdと書き込み、コマンドプロンプトを開くか、単にcmdを開いて移動しますJDK\bin dir。

次に書いてください:

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

パスワードの入力を求められたら、Android

0
Trax