ERRORE: 'keytool' non è riconosciuto come comando interno o esterno, programma eseguibile o file batch


138

Quando uso il comando

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

Ottengo questo errore:

'keytool' non è riconosciuto come comando interno o esterno, programma eseguibile o file batch.

Non riesco a ottenere l'impronta digitale del certificato (MD5) sul mio computer.

ho assicurato che il file del keystore sia presente nella posizione appropriata.

Qualsiasi aiuto?

Risposte:


221

Verificare che la directory in cui si trova l'eseguibile keytool sia sulla %PATH%variabile di ambiente.

Ad esempio, sul mio computer con Windows 7, è presente C:\Program Files (x86)\Java\jre6\bine la mia %PATH%variabile sembra C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Java\jre6\bin;C:\WINDOWS\System32\WindowsPowerShell\v1.0\(e molte altre voci)


ho inserito questo C: \ Programmi \ Java \ jdk1.6.0_21 \ bin> keytool -list -alias androiddebugkey -keystore .android \ debug.keystore -storepass android -keypass android. l'errore che ho ricevuto è l'errore keytool: java.lang.Exception: il file keystore non esiste: .android \ debug .keystore
Shalini

Se lo fai, cercherà il keystore in C:\Program Files\Java\jdk1.6.0_21\bin\.android\debug.keystorecui quasi sicuramente non è il percorso corretto. Devi dargli il percorso completo corretto per il tuo keystore.
Ben Williams,

1
il file del keystore è qui C: \ Documents and Settings \ Shalini \ .android> quindi quando accedo a C: \ Documents and Settings \ Shalini \ .android> keytool -list -alias androiddebugkey -keystore .android \ debug.keystore -storepass android -keypass android. ottengo questo stesso errore 'keytool' non viene riconosciuto come comando interno o esterno, programma eseguibile o file batch.
Shalini,

15
ProvaC:\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
Ben Williams,

1
ok ho inserito questo C: \ Documents and Settings \ Shalini \ .android> C: \ Programmi \ Java \ jdk1.6.0_21 \ bin \ keytool -list -alias androiddebugkey -keystore C: \ Documents and Settings \ Shalini \ .android \ debug.keystore -storepass android -keypass android. l'errore è Il nome file, il nome della directory o la sintassi dell'etichetta del volume non è corretta.
Shalini,

92

Questo ha funzionato per me !! :

Vai a questo percorso o ovunque tu abbia il tuo file keytool.exe

C:\Program Files\Java\jre7\bin

Tenere shiftpremuto e fare clic con il tasto destro -> quindi premereOpen command window here

apparirà il terminale, incollalo in:

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

ti dà sia MD5 che SHA1


Funziona ma la risposta di @ Amt87 farà in modo di avere keytool disponibile in qualsiasi directory senza dover prima cd nella directory in cui si trova keytool (solo Windows). in OS X (Mac), modifica il tuo .profile e assicurati di includere: $ PATH alla fine o non avrai comandi. (vedi architectryan.com/2012/10/02/… )
tricknology

68

Trovato.

VAI A:

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

VAI A:

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

10
  1. Vai su Risorse del computer -> clic destro -> proprietà di sistema -> variabili ambientali -> Percorso -> aggiungi jdk / bin a questo percorso

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

* se questo non funziona, allora

  1. In cmd imposta il percorso usando il comando seguente

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

ora il percorso è impostato ora puoi usare il keytool


Grazie, in Windows 10 ho provato la prima soluzione e per alcuni motivi non ha funzionato. Il secondo funziona alla grande.
NineCattoRules

Grazie. La seconda opzione ha funzionato per me su Windows 10 x64
mdhz il

9

Su Windows 8, vai su C: \ Programmi \ Java \ jre7 \ bin e nella barra degli indirizzi, digita "cmd" senza virgolette. Questo avvierà il terminale. Quindi digitare la stringa come descritto qui .


8

Quindi se ora hai la seguente struttura:

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

quindi eseguire:

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

Ho jdk-13 ..non ha file jre. Come posso risolvere questo
raman raman

5

Assicurarsi che JAVA_HOME sia impostato e che il percorso nelle variabili di ambiente rifletta la directory bin di JAVA_HOME. Fondamentalmente, il PERCORSO dovrebbe essere in grado di trovare il file keytools.exe nella posizione jdk.


5

tutto quello che puoi fare è navigare verso la tua destinazione jre sul tuo computer tramite la riga di comando e poi, una volta raggiunto bin, digiti il ​​comando keytool e funzionerebbe.

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
Quale di questi è l'hash chiave e quale è Hash chiave di sviluppo e quale è Hash chiave di rilascio?
TPWang,

4

Facile, basta trovare la posizione in cui si trova l'eseguibile di keytool, normalmente è nell'esempio java/jre(Version)/binnel mio computer C:\Program Files\Java\jre7\bin. tutto quello che devi fare è andare alle variabili di ambiente , fare clic su PERCORSO per renderlo attivo, quindi fare clic su Modifica, quindi aggiungere il percorso completo dove si trova il tuo keytool , per me aggiungerò C:\Program Files\Java\jre7\binquesto ti consentirà di eseguire i comandi keytool senza andare nella directory in cui keytool è installato.


3

se si desidera eseguire keytool da qualsiasi posizione del terminale

esempio: C:> keytool

è necessario aggiungere le variabili di sistema

per Windows:

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

2) add to Path
%JAVA_HOME%\bin;

2

Ciò significa che la shell non è riuscita a trovare lo strumento sul disco rigido.

UN)

  • Cambia la directory di lavoro in C:\Program Files\Java\jre6\bin\
  • Eseguire keytool -list -alias androiddebugkey keystore <full directory name make sure that you use enclosing in quotes> -storepass android -keypass android

B)

  • Aggiungi C:\Program Files\Java\jre6\bin\alla tua PATHvariabile

2

Nel mio caso il problema era usare PowerShell invece di CMD :)


2

Ho sofferto molto cercando di trovare una soluzione e alla fine ho trovato la soluzione impostando prima il percorso jre per le variabili di sistema andando a:

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

In Variabili di sistema fai clic su Nuovo

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

Dove il valore della variabile dovrebbe essere il percorso della cartella bin del JDK.

Quindi apri il prompt dei comandi e cambia directory nella stessa cartella bin di JDK in questo modo

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

quindi copia e incolla il codice seguente in cmd

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

1

Dare:

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

Anche nella tua riga c'è uno spazio nel keystore. Per favore controllalo.


1

Apri "Variabili d'ambiente" (puoi accedervi dalla ricerca del menu Start in Win10) ricontrolla il percorso in cui si trova il jdk, per assicurarti che esista. Per me, ha detto "... jdk1.8 / bin" Ma quando l'ho copiato in Windows Explorer o nel prompt dei comandi, ha detto che non esisteva. Ho controllato dove avrebbe dovuto essere, e ha detto "jdk1.8.0_77"

Una semplice ridenominazione delle impostazioni in Android Studio e keytool funzionava!


0

Funziona bene

Vai al percorso

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

Quindi inserire la password di Ketsore e il lavoro fatto !!


0

Apri il prompt dei comandi digitare questo ..

"c: \ Programmi (x86) \ Java \ jdk1.7.0 \ bin \ keytool.exe" -list -v -alias androiddebugkey -keystore "C: \ Users \ EIS.android \ debug.keystore" -storepass android -keypass androide

Quindi premi Invio MD5 e SHA1 otterranno


0

So che ci sono già diverse risposte, ma nessuna di queste ha funzionato per me, quindi ne sto postando una che ha funzionato per me, potrebbe essere utile per qualcuno.

Prima di tutto la directory to keytool.exe deve essere sul percorso

e se invece che la directory si trova sul percorso sta dando errore, prova ad avviare la riga di comando come utente normale anziché come amministratore o a cambiare la directory in home directory


0

Per Windows 10 è necessario il percorso C:\Program Files\Java\jre1.8.0_161\bin

riavvia il comando e apri


0

Individua dove keytool.exe si trova nella cartella di installazione di Java

il mio è C:\Program Files\Java\jre1.8.0_181\binaperto cmd ovunque e scappare

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

cambia il percorso nel percorso in cui hai trovato keytool.exe


0

Il mio caso è che non funziona dove lo chiamo, indipendentemente dal percorso del file o meno, se lo apro con PowerShell.

ma funziona se lo apro con cmd.


0

Basta cercare sul seguente percorso: C: \ → Programmi → Java → jre1.xxx → bin
assicurati che la cartella bin includa questo keytool.exe

Quindi apri il prompt dei comandi.

quindi digitare: (cd significa cambiare directory) cd C: \ Programmi \ Java \ jre1.8.0_231 \ bin

Quindi digitare il comando e premere Invio


0

Il comando keytool potrebbe non essere sul tuo percorso: fa parte di Java, che è installato come parte di Android Studio. Per il percorso concreto, eseguire flutter doctor -v e individuare il percorso stampato dopo 'Binary Java at:'. Quindi utilizzare quel percorso completo che sostituisce java (alla fine) con keytool. Se il percorso include nomi separati da spazi, ad esempio Programmi, utilizzare la notazione appropriata per la piattaforma per i nomi. Ad esempio, su Mac / Linux utilizzare Program \ Files e su Windows utilizzare "Program Files".


0

Una semplice soluzione di errore è che è innanzitutto necessario modificare la directory delle cartelle nel prompt dei comandi. Per impostazione predefinita nel prompt dei comandi o nel terminale (all'interno di Android Studio nella parte inferiore) il percorso è impostato su C: \ Users # Nome del PC che hai selezionato \ AndroidStudioProjects # nome app \ flutter_app> Modifica di conseguenza: - C: \ Users #Nome del PC che hai selezionato \ AndroidStudioProjects # nome app \ flutter_app> cd \

digitare ** cd ** (#after flutter_app>), digitare solo cd \ not virgola

quindi digitare cd Programmi \ Java \ jre1.8.0_251 \ bin (#remember per controllare correttamente il nome del file di jre)

ora digita keytool -list -v -keystore "% USERPROFILE% .android \ debug.keystore" -alias androiddebugkey -storepass android -keypass android (senza digitare copyspace il comando).

screenshot dei codici da eseguire


-2
  1. Aprire dove si trova KEYTOOL.EXE nel file JAVA come ad esempio C: \ Programmi \ Java \ bin \ keytool.exe.

  2. Tenere premuto MAIUSC e fare clic con il pulsante destro del mouse sulla cartella BIN in cui si trova keytool.exe e fare clic su Apri comando CMD o RUN da qui.

  3. Questo apre cmd. quindi digitare

keytool -exportcert -alias NOME DEL TUO KEYSTORE -keystore PERCORSO DI KEYSTORE.jks "|" C: \ OpenSSL \ bin \ openssl "sha1 -binary |" C: \ OpenSSL \ bin \ openssl "base64

  1. Richiedi password, inserisci Android e BOOOOOOOM ... Hai la tua chiave.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.