ERREUR: 'keytool' n'est pas reconnu comme une commande interne ou externe, un programme utilisable ou un fichier de commandes

138

Quand j'utilise la commande

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

J'obtiens cette erreur:

«keytool» n'est pas reconnu comme une commande interne ou externe, un programme utilisable ou un fichier de commandes.

Je ne parviens pas à obtenir l'empreinte du certificat (MD5) sur mon ordinateur.

J'ai veillé à ce que le fichier keystore soit présent à l'emplacement approprié.

De l'aide?

Shalini
la source

Réponses:

221

Vérifiez que le répertoire dans lequel se trouve l'exécutable keytool se trouve sur votre %PATH%variable d'environnement.

Par exemple, sur ma machine Windows 7, il est dans C:\Program Files (x86)\Java\jre6\bin, et ma %PATH%variable ressemble C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Java\jre6\bin;C:\WINDOWS\System32\WindowsPowerShell\v1.0\(et de nombreuses autres entrées)

Ben Williams
la source
J'ai entré ce C: \ Program Files \ Java \ jdk1.6.0_21 \ bin> keytool -list -alias androiddebugkey -keystore .android \ debug.keystore -storepass android -keypass android. l'erreur que j'ai obtenue est une erreur keytool: java.lang.Exception: le fichier Keystore n'existe pas: .android \ debug .keystore
Shalini
Si vous faites cela, il recherchera le fichier de clés dans C:\Program Files\Java\jdk1.6.0_21\bin\.android\debug.keystorelequel le chemin n'est presque certainement pas correct. Vous devez lui donner le chemin complet correct de votre keystore.
Ben Williams le
1
le fichier keystore est ici C: \ Documents and Settings \ Shalini \ .android> donc quand j'entre C: \ Documents and Settings \ Shalini \ .android> keytool -list -alias androiddebugkey -keystore .android \ debug.keystore -storepass android -keypass android. J'obtiens cette même erreur «keytool» n'est pas reconnue comme une commande interne ou externe, un programme opérationnel ou un fichier de commandes.
Shalini
15
EssayerC:\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 j'ai entré ce 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. l'erreur est Le nom de fichier, le nom du répertoire ou la syntaxe d'étiquette de volume est incorrect.
Shalini
92

Cela a fonctionné pour moi !! :

Accédez à ce chemin ou à l'endroit où vous avez votre fichier keytool.exe

C:\Program Files\Java\jre7\bin

Maintenez shiftet faites un clic droit -> puis appuyez surOpen command window here

le terminal apparaîtra, collez ceci dans:

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

vous donne à la fois MD5 et SHA1

Jakob
la source
Cela fonctionne, mais la réponse de @ Amt87 garantira que vous avez keytool disponible dans n'importe quel répertoire sans avoir à commencer par cd dans le répertoire où se trouve keytool (Windows uniquement). sous OS X (Mac), modifiez votre .profile et assurez-vous d'inclure: $ PATH à la fin ou vous n'aurez aucune commande. (voir architectryan.com/2012/10/02/… )
tricknology
68

Je l'ai trouvé.

ALLER À:

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

ALLER À:

cmd -> keytool -list -alias androiddebugkey -keystore "C:\Users\meee\.android\debug.keystore" -storepass android -keypass android
Amt87
la source
10
  1. Allez dans Mon ordinateur -> clic droit -> propriétés système -> variables d'environnement -> Chemin -> ajoutez-vous jdk / bin à ce chemin

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

* si cela ne fonctionne pas alors

  1. Dans cmd, définissez le chemin à l'aide de la commande ci-dessous

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

maintenant le chemin est défini maintenant vous pouvez utiliser le keytool

MANOJ G
la source
Merci, dans Windows 10, j'ai essayé la première solution et pour certaines raisons, cela n'a pas fonctionné. Le 2ème fonctionne très bien.
NineCattoRules
Merci. La deuxième option a fonctionné pour moi sur Windows 10 x64
mdhz
9

Sous Windows 8, allez dans C: \ Program Files \ Java \ jre7 \ bin et dans la barre d'adresse, tapez "cmd" sans les guillemets. Cela lancera le terminal. Tapez ensuite la chaîne comme décrit ici .

Neutrino
la source
8

Donc, si vous avez la structure suivante maintenant:

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

puis exécutez:

C:\Program Files\Java\jre6\bin>keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android 
Zh. Atanasov
la source
J'ai jdk-13 ..il n'a pas de fichier jre .Comment puis-je résoudre ce problème
raman raman
5

Assurez-vous que JAVA_HOME est défini et que le chemin dans les variables d'environnement reflète le répertoire bin de JAVA_HOME. Fondamentalement, le PATH devrait pouvoir trouver le fichier keytools.exe dans votre emplacement jdk.

Sharan Rajendran
la source
5

tout ce que vous pouvez faire est de naviguer vers votre destination jre dans votre ordinateur via la ligne de commande, puis une fois que vous atteignez bin, vous tapez la commande keytool et cela fonctionnerait.

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
]
]
Krrish
la source
1
Lequel de ces derniers est le hachage de clé et lequel est le hachage de clé de développement et lequel est le hachage de clé de libération?
TPWang
4

Facile, trouvez simplement l'emplacement où se trouve l'exécutable keytool, par java/jre(Version)/binexemple dans mon ordinateur C:\Program Files\Java\jre7\bin. tout ce que vous avez à faire est d' aller dans les variables d'environnement , cliquez sur PATH pour le rendre actif, puis cliquez sur modifier, puis ajoutez le chemin complet où se trouve votre keytool , pour moi j'ajouterai C:\Program Files\Java\jre7\bincela vous permettra d'exécuter des commandes keytool sans aller dans le répertoire où keytool est installé.

JohnPep
la source
3

si vous souhaitez exécuter keytool depuis n'importe quel emplacement du terminal

exemple: C:> keytool

vous devez ajouter les variables système

Pour les fenêtres:

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

2) add to Path
%JAVA_HOME%\bin;
Probojnik
la source
2

Cela signifie que votre shell n'a pas pu trouver l'outil sur votre disque dur.

UNE)

  • Remplacez le répertoire de travail par C:\Program Files\Java\jre6\bin\
  • Exécuter keytool -list -alias androiddebugkey keystore <full directory name make sure that you use enclosing in quotes> -storepass android -keypass android

B)

  • Ajouter C:\Program Files\Java\jre6\bin\à votre PATHvariable
jjj
la source
2

Dans mon cas, le problème était d'utiliser PowerShell au lieu de CMD :)

Skylin R
la source
2

J'ai beaucoup souffert d'essayer de trouver une solution et j'ai finalement trouvé la solution en définissant d'abord le chemin jre vers les variables système en accédant à ::

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

Sous Variables système, cliquez sur nouveau

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

Où la valeur de la variable doit être le chemin d'accès au dossier bin de votre JDK.

Ensuite, ouvrez l'invite de commande et changez le répertoire dans le même dossier bin du JDK comme ceci

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

puis copiez et collez le code ci-dessous dans cmd

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

Donner:

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

Il y a également dans votre ligne un espace dans le keystore. S'il te plaît vérifie le.

Anju
la source
1

Ouvrez "Variables d'environnement" (vous pouvez y accéder à partir de votre recherche dans le menu Démarrer dans Win10) vérifiez le chemin dans lequel se trouve le jdk, pour vous assurer qu'il existe. Pour moi, il a dit "... jdk1.8 / bin" Mais quand je l'ai copié dans l'Explorateur Windows ou l'invite de commande, il a dit que cela n'existait pas. J'ai vérifié où cela aurait dû être, et il a dit "jdk1.8.0_77"

Un simple changement de nom du paramètre dans Android Studio et keytool fonctionnait!

Sonictimm
la source
0

The Works for fine

Aller au chemin

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

Ensuite, entrez le mot de passe Ketsore et le travail est terminé !!

user1576593
la source
0

Ouvrez l'invite de commande, tapez ceci.

"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 Android

Ensuite, appuyez sur Entrée MD5 et la clé SHA1 obtiendra

sss
la source
0

Je sais qu'il y a déjà plusieurs réponses mais aucune d'elles n'a fonctionné pour moi, donc j'en publie une qui a fonctionné pour moi, peut être utile pour quelqu'un.

Tout d'abord, le répertoire de keytool.exe doit être sur le chemin

et si au lieu que le répertoire soit sur le chemin, cela donne une erreur, essayez de démarrer la ligne de commande en tant qu'utilisateur normal plutôt qu'en tant qu'administrateur ou de changer le répertoire en répertoire de base

DarkShadow
la source
0

Pour Windows 10, vous devez tracer C:\Program Files\Java\jre1.8.0_161\bin

redémarrer la commande et ouvrir

Md Rashedul Islam
la source
0

Localisez où votre keytool.exe dans le dossier d'installation java

le mien est C:\Program Files\Java\jre1.8.0_181\binouvert cmd n'importe où et exécuté

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

changez le chemin vers le chemin que vous avez localisé votre keytool.exe

Ahmed Adewale
la source
0

Mon cas est que cela ne fonctionne pas où que je l'appelle, peu importe que je chemin le fichier ou non, si je l'ouvre avec PowerShell.

mais cela fonctionne si je l'ouvre avec cmd.

Wesleywai
la source
0

Recherchez simplement sur le chemin suivant: C: \ → Program Files → Java → jre1.xxx → bin
assurez-vous que ce dossier bin contient ce keytool.exe

Ouvrez ensuite l'invite de commande.

puis tapez: (cd signifie changer de répertoire) cd C: \ Program Files \ Java \ jre1.8.0_231 \ bin

Tapez ensuite la commande et appuyez sur Entrée

Alex Sommera
la source
0

La commande keytool peut ne pas se trouver dans votre chemin. Elle fait partie de Java, qui est installé dans le cadre d'Android Studio. Pour le chemin concret, exécutez flutter doctor -v et localisez le chemin affiché après 'Java binary at:'. Ensuite, utilisez ce chemin complet en remplaçant java (à la fin) par keytool. Si votre chemin comprend des noms séparés par des espaces, tels que Program Files, utilisez la notation appropriée à la plate-forme pour les noms. Par exemple, sur Mac / Linux, utilisez Program \ Files et sur Windows, utilisez "Program Files".

Mahmoud Hamdy
la source
0

Une solution d'erreur simple est que vous devez d'abord modifier le répertoire du dossier dans l'invite de commande. Par défaut, dans l'invite de commande ou dans l'onglet du terminal (à l'intérieur du studio Android en bas), le chemin est défini sur C: \ Users # Nom de votre PC que vous avez sélectionné \ AndroidStudioProjects # app name \ flutter_app> Modifiez en conséquence: - C: \ Users #Nom de votre PC que vous avez sélectionné \ AndroidStudioProjects # nom de l'application \ flutter_app> cd \

tapez ** cd ** (#after flutter_app>), tapez uniquement cd \ pas de virgule

puis tapez cd Program Files \ Java \ jre1.8.0_251 \ bin (#remember pour vérifier correctement le nom de fichier de jre)

maintenant tapez keytool -list -v -keystore "% USERPROFILE% .android \ debug.keystore" -alias androiddebugkey -storepass android -keypass android (sans aucun espace, tapez la commande).

capture d'écran des codes à exécuter

Sourabh Biswas
la source
-2
  1. Ouvrez où votre KEYTOOL.EXE dans votre fichier JAVA tel que par exemple C: \ Program Files \ Java \ bin \ keytool.exe.

  2. HOLD SHIFT et clic droit sur le dossier BIN où se trouve votre keytool.exe et cliquez sur Ouvrir CMD ou RUN Command à partir d'ici.

  3. Cela ouvre cmd. puis tapez

keytool -exportcert -alias NOM DE VOTRE KEYSTORE -keystore CHEMIN DU KEYSTORE.jks "|" C: \ OpenSSL \ bin \ openssl "sha1 -binary |" C: \ OpenSSL \ bin \ openssl "base64

  1. Invite de mot de passe, entrez android et BOOOOOOOM ... Vous avez votre clé.
SUPAVIVA - La télé Orion
la source