エラー: 'keytool'は内部または外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されません


138

コマンドを使用するとき

C:\>keytool -list -alias androiddebugkey 
            -keystore .android\debug.keystore 
            -storepass android -keypass android

私はこのエラーを受け取ります:

「keytool」は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されません。

コンピューターで証明書のフィンガープリント(MD5)を取得できません。

キーストアファイルが適切な場所に存在することを確認しました。

何か助け?

回答:


220

keytool実行可能ファイルがあるディレクトリが%PATH%環境変数にあることを確認します。

たとえば、私のWindows 7マシンでは、それはに C:\Program Files (x86)\Java\jre6\binあり、私の%PATH%変数はC:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Java\jre6\bin;C:\WINDOWS\System32\WindowsPowerShell\v1.0\(および他の多くのエントリ)のように見えます


私はこのC:\ Program Files \ Java \ jdk1.6.0_21 \ bin> keytool -list -alias androiddebugkey -keystore .android \ debug.keystore -storepass android -keypass androidと入力しました。私が得たエラーはkeytoolエラーです:java.lang.Exception:キーストアファイルが存在しません:.android \ debug .keystore
Shalini

これを行うと、C:\Program Files\Java\jdk1.6.0_21\bin\.android\debug.keystoreほぼ間違いなく正しいパスではないキーストアが検索されます。キーストアへの正しい完全パスを指定する必要があります。
ベンウィリアムズ

1
キーストアファイルはここにC:\ Documents and Settings \ Shalini \ .android>なので、C:\ Documents and Settings \ Shalini \ .android> keytool -list -alias androiddebugkey -keystore .android \ debug.keystore -storepass androidと入力します-keypass android。私はこれと同じエラー「keytool」が内部または外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されません。
Shalini

14
試してみるC:\Program Files\Java\jdk1.6.0_21\bin\keytool -list -alias androiddebugkey -keystore C:\Documents and Settings\Shalini\.android\debug.keystore -storepass android -keypass android
ベンウィリアムズ

はい、C:\ Documents and Settings \ Shalini \ .android> C:\ Program Files \ Java \ jdk1.6.0_21 \ bin \ keytool -list -alias androiddebugkey -keystore C:\ Documents and Settings \ Shalini \ .androidと入力しました\ debug.keystore -storepass android -keypass android エラーは、ファイル名、ディレクトリ名、またはボリュームラベルの構文が正しくありません。
Shalini

91

これは私のために働きました!! :

このパスに移動するか、keytool.exeファイルがある場所に移動します

C:\Program Files\Java\jre7\bin

ホールドshiftし、右クリック- >を押しますOpen command window here

端末がポップアップし、これを貼り付けます:

keytool -list -v -keystore "C:\Users\"Your-User-Name(no quotes)"\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

MD5とSHA1の両方を提供します


これは機能しますが、@ Amt87の回答により、keytoolが配置されているディレクトリに最初にcdする必要なく、任意のディレクトリでkeytoolを使用できるようになります(Windowsのみ)。OS X(Mac)では、.profileを編集し、最後に:$ PATHを必ず含めてください。そうしないと、コマンドがありません。(architectryan.com/2012/10/02/…を参照)
トリックノロジー

68

それを見つけた。

移動:

my computer->rightClick->properties->Advanced system settings->environment variables->find path in system variables->dbl click-> paste the "C:\Program Files\Java\jdk1.6.0_16\bin"->OK

移動:

cmd -> keytool -list -alias androiddebugkey -keystore "C:\Users\meee\.android\debug.keystore" -storepass android -keypass android

10
  1. [マイコンピュータ]に移動->右クリック->システムプロパティ->環境変数->パス->このパスにjdk / binを追加

    C:\Program Files\Java\jdk1.8.0_211\bin

*これが機能しない場合

  1. cmdで、以下のコマンドを使用してパスを設定します

    set PATH=C:\Program Files\Java\jdk1.8.0_211\bin

これでパスが設定され、keytoolを使用できるようになりました


ありがとう、Windows 10で最初の解決策を試しましたが、いくつかの理由で機能しませんでした。2つ目はうまくいきます。
NineCattoRules

ありがとう。2番目のオプションは、Windows 10 x64で私にとって
有効でした

9

Windows 8では、C:\ Program Files \ Java \ jre7 \ binに移動し、アドレスバーに引用符なしで「cmd」と入力します。これでターミナルが起動します。次に、ここで説明するように文字列を入力します。


8

したがって、次のような構造の場合:

 C:\Program Files\Java\jre6\bin\
                                keytool.exe
                                debug.keystore

次に実行します:

C:\Program Files\Java\jre6\bin>keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android 

私は、13-jdkの.How私はこの問題を解決することができます何のJREのファイルを持っていない..it持っている
ラマンラマン

5

JAVA_HOMEが設定され、環境変数のパスがJAVA_HOMEのbinディレクトリを反映していることを確認してください。基本的に、PATHはjdkの場所でkeytools.exeファイルを見つけることができるはずです。


5

実行できるのは、コマンドラインを介してコンピューターのjre宛先に移動し、binに到達したらkeytoolコマンドを入力するだけです。

C:\Program Files (x86)\Java\jre7\bin>
C:\Program Files (x86)\Java\jre7\bin>keytool -list -v -keystore"%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android



Alias name: androiddebugkey
Creation date: 23 Feb, 2014
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: 479d4fe7
Valid from: Sun Feb 23 06:19:02 IST 2014 until: Tue Feb 16 06:19:02 IST 2044
Certificate fingerprints:
MD5:  DB:6A:8E:48:22:5B:37:73:B1:91:EF:43:3F:26:F0:EC
SHA1: B4:6B:2E:5F:5A:30:C5:E4:E7:12:BB:F0:74:FC:2B:43:64:3A:FC:15
SHA256: CB:59:F3:20:7D:5B:87:99:6C:0D:32:79:79:CF:4E:8C:16:C2:37:81:7B:
B0:AF:D2:EC:3C:11:21:53:58:62:F6
Signature algorithm name: SHA256withRSA
Version: 3
Extensions:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: FA 96 17 9E 94 73 C3 42   F0 4B 55 5B C7 5B EE BB  .....s.B.KU[.[..
0010: C3 E5 D3 61                                        ...a
]
]

1
これらのどれがキーハッシュで、どれが開発キーハッシュで、どれがリリースキーハッシュですか?
TPWang 2015

4

簡単です。keytoolの実行可能ファイルがある場所を見つけるだけです。通常は、java/jre(Version)/binたとえば私のコンピュータのにありC:\Program Files\Java\jre7\binます。あなたがしなければならないすべては、ある環境変数に行きそれをアクティブにするためにPATHをクリックし、[編集]をクリックし、お使いのkeytoolがどこにあるか、完全なパスを追加し、私のために私が追加されますC:\Program Files\Java\jre7\binこれをあなたはどこのディレクトリに行かずのkeytoolコマンドを実行できるようになりますkeytoolがインストールされています。


3

端末の任意の場所からkeytoolを実行する場合

例:C:> keytool

システム変数を追加する必要があります

Windowsの場合:

1) create:
JAVA_HOME
C:\Program Files\Java\jdk1.7.0_45

2) add to Path
%JAVA_HOME%\bin;

2

これは、シェルがハードディスク上にツールを見つけられなかったことを意味します。

A)

  • 作業ディレクトリを次のように変更します C:\Program Files\Java\jre6\bin\
  • 実行する keytool -list -alias androiddebugkey keystore <full directory name make sure that you use enclosing in quotes> -storepass android -keypass android

B)

  • 追加C:\Program Files\Java\jre6\bin\あなたのPATH変数


2

私はそれに対する解決策を見つけることを試みることをたくさん苦しみました、そして最後に私は最初にナビゲートすることによってjreパスをシステム変数に設定することによって解決策を見つけました::

control panel > System and Security > System > Advanced system settings 

[システム変数]で、[新規]をクリックします

Variable name: KEY_PATH
Variable value: C:\Program Files (x86)\Java\jre1.8.0_171\bin

ここで、変数値はJDKのbinフォルダーへのパスです。

次に、コマンドプロンプトを開き、次のようにディレクトリを同じJDKのbinフォルダーに変更します。

C:\Program Files (x86)\Java\jre1.8.0_171\bin 

次に、以下のコードをコピーしてcmdに貼り付けます

keytool -list -v -keystore "C:\Users\user\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android   

1

与える:

keytool -list -keystore ~/.android/debug.keystore

また、あなたの行では、キーストアにスペースがあります。これをチェックしてください。


1

「環境変数」を開きます(Win10のスタートメニューの検索からアクセスできます)jdkが存在するパスを再確認して、それが存在することを確認します。私にとっては「... jdk1.8 / bin」と表示されていましたが、それをWindowsエクスプローラーまたはコマンドプロンプトにコピーすると、存在しないと表示されました。どこにあるべきかチェックしたところ「jdk1.8.0_77」と表示されていました

Android Studioとkeytoolの設定の簡単な名前変更が機能していました。


0

罰金のための作品

パスに移動

C:\Program Files\Java\jre7\bin> keytool -exportcert -alias androiddebugkey -keystore "C:\Users\Developer\.android\debug.keystore"

次に、Ketsoreパスワードを入力してジョブを完了します!!


0

コマンドプロンプトを開くこれを入力します。

"c:\ Program Files(x86)\ Java \ jdk1.7.0 \ bin \ keytool.exe" -list -v -alias androiddebugkey -keystore "C:\ Users \ EIS.android \ debug.keystore" -storepass android -keypassアンドロイド

次に、Enter MD5を押すとSHA1キーが取得されます


0

私はすでにいくつかの回答があることを知っていますが、それらのどれも私にとってうまくいかなかったので、私はうまくいったものを投稿しています。誰かに役立つかもしれません。

まず最初に、keytool.exeへのディレクトリはパス上になければなりません

パス上にあるディレクトリの代わりにエラーが発生する場合は、管理者ではなく通常のユーザーとしてコマンドラインを起動するか、ディレクトリをホームディレクトリに変更してください


0

Windows 10の場合、パスする必要があります C:\Program Files\Java\jre1.8.0_161\bin

コマンドを再起動して開く


0

keytool.exeがJavaインストールフォルダー内のどこにあるかを確認します

私は C:\Program Files\Java\jre1.8.0_181\binどこでもcmdを開いて実行します

SET PATH=%PATH%;C:\Program Files\Java\jre1.8.0_181\bin;

パスをkeytool.exeのあるパスに変更します


0

私の場合は、Powershellで開いた場合、ファイルのパスを指定してもしなくても、どこにいても機能しません。

しかし、cmdで開いた場合は機能します。


0

次のパスを検索してください:C:\→Program Files→Java→jre1.xxx→bin
このbinフォルダーにこのkeytool.exeが含まれていることを確認してください

次に、コマンドプロンプトを開きます。

次に次のように入力します:(cdはディレクトリの変更を意味します)cd C:\ Program Files \ Java \ jre1.8.0_231 \ bin

次にコマンドを入力し、Enterキーを押します


0

keytoolコマンドがパスに含まれていない可能性があります。これは、Android Studioの一部としてインストールされるJavaの一部です。具体的なパスについては、flutter doctor -vを実行し、「Javaバイナリー:」の後に印刷されたパスを見つけます。次に、完全修飾パスを使用して、Javaを(最後に)keytoolで置き換えます。パスにProgram Filesなどのスペースで区切られた名前が含まれている場合は、名前にプラットフォーム固有の表記を使用します。たとえば、Mac / LinuxではProgram \ Filesを使用し、Windowsでは「Program Files」を使用します。


0

エラーの簡単な解決策は、最初にコマンドプロンプトでフォルダーディレクトリを変更する必要があることです。デフォルトでは、コマンドプロンプトまたはターミナル(下部のAndroidスタジオ内)タブで、パスはC:\ Users#選択したPCの名前\ AndroidStudioProjects#app name \ flutter_app>に 応じて変更されます: -C:\ Users #選択したPCの名前\ AndroidStudioProjects#app name \ flutter_app> cd \

** cd **(#after flutter_app>)と入力し、cd \のみを入力して、コンマは入力しない

次に、cd Program Files \ Java \ jre1.8.0_251 \ binと入力します(#jreのファイル名を正しく確認することを忘れないでください)

ここで、keytool -list -v -keystore "%USERPROFILE%.android \ debug.keystore" -alias androiddebugkey -storepass android -keypass androidと入力します(コマンドを入力するスペースなし)。

実行するコードのスクリーンショット


-2
  1. 例:C:\ Program Files \ Java \ bin \ keytool.exeなど、JAVAファイルのKEYTOOL.EXEを開きます。

  2. Shiftキーを押しながらkeytool.exeが配置されているBINフォルダーを右クリックし、ここからCMDまたはRUNコマンドを開くをクリックします。

  3. これでcmdが開きます。次に入力

keytool -exportcert -aliasキーストアの名前-keystore KEYSTORE.jksのパス "|" C:\ OpenSSL \ bin \ openssl "sha1 -binary |" C:\ OpenSSL \ bin \ openssl "base64

  1. パスワードプロンプト、androidとBOOOOOOOMを入力...あなたのキーがあります。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.