ERROR: 'keytool' no se reconoce como un comando interno o externo, programa operativo o archivo por lotes

138

Cuando uso el comando

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

Me sale este error:

'keytool' no se reconoce como un comando interno o externo, programa operativo o archivo por lotes.

No puedo obtener la huella digital del certificado (MD5) en mi computadora.

Me he asegurado de que el archivo del almacén de claves esté presente en la ubicación adecuada.

¿Alguna ayuda?

Shalini
fuente

Respuestas:

220

Verifique que el directorio en el que se encuentra el ejecutable keytool esté en su %PATH%variable de entorno.

Por ejemplo, en mi máquina con Windows 7, está en C:\Program Files (x86)\Java\jre6\biny mi %PATH%variable se ve C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Java\jre6\bin;C:\WINDOWS\System32\WindowsPowerShell\v1.0\(y muchas otras entradas)

Ben Williams
fuente
Ingresé este C: \ Archivos de programa \ Java \ jdk1.6.0_21 \ bin> keytool -list -alias androiddebugkey -keystore .android \ debug.keystore -storepass android -keypass android. el error que obtuve es el error keytool: java.lang. Excepción: el archivo de almacén de claves no existe: .android \ debug .keystore
Shalini
Si lo hace, buscará el almacén de claves en el C:\Program Files\Java\jdk1.6.0_21\bin\.android\debug.keystoreque casi seguro que no es la ruta correcta. Debe darle la ruta completa correcta a su almacén de claves.
Ben Williams
1
el archivo del almacén de claves está aquí C: \ Documents and Settings \ Shalini \ .android>, así que cuando ingreso C: \ Documents and Settings \ Shalini \ .android> keytool -list -alias androiddebugkey -keystore .android \ debug.keystore -storepass android -keypass android. me sale este mismo error 'keytool' no se reconoce como un comando interno o externo, programa operativo o archivo por lotes.
Shalini
14
PruebaC:\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
ok, ingresé este 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. el error es El nombre del archivo, el nombre del directorio o la sintaxis de la etiqueta del volumen es incorrecta.
Shalini
91

¡Esto funcionó para mí! :

Vaya a esta ruta o donde tenga su archivo keytool.exe

C:\Program Files\Java\jre7\bin

Mantenga shiftpresionado y haga clic derecho -> luego presioneOpen command window here

aparecerá el terminal, pegue esto en:

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

te da MD5 y SHA1

Jakob
fuente
Esto funciona, pero la respuesta de @ Amt87 asegurará que tenga keytool disponible en cualquier directorio sin tener que cd primero al directorio donde se encuentra keytool (solo Windows). en OS X (Mac), edite su .profile y asegúrese de incluir: $ PATH al final o no tendrá comandos. (ver architectryan.com/2012/10/02/… )
tricknology
68

Lo encontré.

IR:

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

IR:

cmd -> keytool -list -alias androiddebugkey -keystore "C:\Users\meee\.android\debug.keystore" -storepass android -keypass android
Amt87
fuente
10
  1. Vaya a Mi computadora -> haga clic derecho -> propiedades del sistema -> variables ambientales -> Ruta -> agregue jdk / bin a esta ruta

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

* si esto no funciona entonces

  1. En cmd establezca la ruta utilizando el siguiente comando

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

ahora el camino está establecido, ahora puede usar la herramienta de teclado

MANOJ G
fuente
Gracias, en Windows 10 probé la primera solución y por alguna razón no funcionó. El segundo funciona muy bien.
NineCattoRules
Gracias. La segunda opción funcionó para mí en Windows 10 x64
mdhz
9

En Windows 8, vaya a C: \ Archivos de programa \ Java \ jre7 \ bin y en la barra de direcciones, escriba "cmd" sin las comillas. Esto lanzará la terminal. Luego escriba la cadena como se describe aquí .

Neutrino
fuente
8

Entonces, si tiene la siguiente estructura ahora:

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

luego ejecuta:

C:\Program Files\Java\jre6\bin>keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android 
Z h. Atanasov
fuente
Tengo jdk-13 ... no tiene archivo jre. ¿Cómo puedo resolver esto
Raman raman
5

Asegúrese de que JAVA_HOME esté configurado y que la ruta en las variables de entorno refleje el directorio bin de JAVA_HOME. Básicamente, la RUTA debería poder encontrar el archivo keytools.exe en su ubicación jdk.

Sharan Rajendran
fuente
5

todo lo que puede hacer es navegar a su destino jre en su computadora a través de la línea de comando y luego, una vez que llegue a bin, escriba el comando keytool y funcionaría.

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
fuente
1
¿Cuál de estos es hash clave y cuál es hash clave de desarrollo y cuál es hash clave de lanzamiento?
TPWang
4

Fácil, solo encuentre la ubicación donde se encuentra el ejecutable keytool, normalmente está en el java/jre(Version)/binejemplo en mi computadora C:\Program Files\Java\jre7\bin. todo lo que tiene que hacer es ir a las variables de entorno , hacer clic en RUTA para activarlo, luego hacer clic en editar, luego agregar la ruta completa donde está su herramienta clave , para mí agregaré C:\Program Files\Java\jre7\binesto le permitirá ejecutar comandos de herramienta clave sin ir al directorio donde Keytool está instalado.

JohnPep
fuente
3

si desea ejecutar keytool desde cualquier ubicación de terminal

ejemplo: C:> keytool

necesitas agregar las variables del sistema

para ventanas:

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

2) add to Path
%JAVA_HOME%\bin;
Probojnik
fuente
2

Esto significa que su shell no pudo encontrar la herramienta en su disco duro.

UNA)

  • Cambiar el directorio de trabajo a C:\Program Files\Java\jre6\bin\
  • Ejecutar keytool -list -alias androiddebugkey keystore <full directory name make sure that you use enclosing in quotes> -storepass android -keypass android

SI)

  • Añadir C:\Program Files\Java\jre6\bin\a su PATHvariable
jjj
fuente
2

En mi caso, el problema estaba en usar PowerShell en lugar de CMD :)

Skylin R
fuente
2

Sufrí mucho tratando de encontrar una solución y finalmente encontré la solución configurando primero la ruta jre a las variables del sistema navegando a ::

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

En Variables del sistema, haga clic en nuevo

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

Donde el valor variable debe ser la ruta a la carpeta bin de su JDK.

Luego abra el símbolo del sistema y cambie el directorio a la misma carpeta bin de JDK como esta

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

luego copie y pegue el siguiente código en cmd

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

Dar:

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

También en su línea hay un espacio en el almacén de claves. Compruébelo por favor.

Anju
fuente
1

Abra "Variables de entorno" (puede acceder desde la búsqueda del menú de inicio en Win10) verifique dos veces la ruta en la que se encuentra el jdk, para asegurarse de que existe. Para mí, decía "... jdk1.8 / bin" Pero cuando copié eso en el Explorador de Windows o en el símbolo del sistema, dijo que no existía. Verifiqué dónde debería haber estado y decía "jdk1.8.0_77"

¡Un simple cambio de nombre de la configuración en Android Studio y keytool funcionaba!

sonictimm
fuente
0

Las obras para bien

Ir al camino

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

¡Entonces ingrese la contraseña de Ketsore y haga el trabajo!

usuario1576593
fuente
0

Abrir símbolo del sistema escriba esto ..

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

Luego presione Enter MD5 y la clave SHA1 obtendrá

sss
fuente
0

Sé que ya hay varias respuestas, pero ninguna funcionó para mí, así que estoy publicando una que funcionó para mí, puede ser útil para alguien.

En primer lugar, el directorio a keytool.exe debe estar en la ruta

y si en lugar de que el directorio esté en la ruta está dando error, entonces intente iniciar la línea de comando como un usuario normal en lugar de como administrador o cambiar el directorio a directorio de inicio

Sombra oscura
fuente
0

Para Windows 10 necesita ruta C:\Program Files\Java\jre1.8.0_161\bin

reiniciar comando y abrir

Md Rashedul Islam
fuente
0

Busque dónde está su keytool.exe dentro de la carpeta de instalación de Java

el mío está C:\Program Files\Java\jre1.8.0_181\binabierto cmd en cualquier lugar y ejecuta

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

cambie la ruta a la ruta donde ubicó su keytool.exe

Ahmed Adewale
fuente
0

Mi caso es que no funciona donde sea que lo llame, no importa si ruta el archivo o no, si lo abro con powershell.

pero funciona si lo abro con cmd.

Wesleywai
fuente
0

Simplemente busque en la siguiente ruta: C: \ → Archivos de programa → Java → jre1.xxx → bin
asegúrese de que esta carpeta bin incluye este keytool.exe

Luego abra el símbolo del sistema.

luego escriba: (cd significa cambiar directorio) cd C: \ Archivos de programa \ Java \ jre1.8.0_231 \ bin

Luego escriba el comando y presione enter

Alex Sommera
fuente
0

Es posible que el comando keytool no esté en su camino, es parte de Java, que se instala como parte de Android Studio. Para la ruta concreta, ejecute flutter doctor -v y ubique la ruta impresa después de 'Java binary at:'. Luego use esa ruta totalmente calificada reemplazando java (al final) con keytool. Si su ruta incluye nombres separados por espacios, como Archivos de programa, use la notación apropiada para la plataforma para los nombres. Por ejemplo, en Mac / Linux use Program \ Files, y en Windows use "Program Files".

Mahmoud Hamdy
fuente
0

Una solución simple de error es que primero necesita cambiar el directorio de la carpeta en el símbolo del sistema. Por defecto, en el símbolo del sistema o en la pestaña del terminal (Dentro del estudio de Android en la parte inferior), la ruta se establece en C: \ Users # Nombre de su PC que seleccionó \ AndroidStudioProjects # nombre de la aplicación \ flutter_app> Cambiar en consecuencia: - C: \ Users #Nombre de su PC que seleccionó \ AndroidStudioProjects # nombre de la aplicación \ flutter_app> cd \

escriba ** cd ** (#after flutter_app>), escriba solo cd \ not comas

luego escriba cd Program Files \ Java \ jre1.8.0_251 \ bin (#remember para verificar el nombre del archivo de jre correctamente)

ahora escriba keytool -list -v -keystore "% USERPROFILE% .android \ debug.keystore" -alias androiddebugkey -storepass android -keypass android (sin anyspace, escriba el comando).

captura de pantalla de los códigos para ejecutar

Sourabh Biswas
fuente
-2
  1. Abra donde su KEYTOOL.EXE en su archivo JAVA como, por ejemplo, C: \ Archivos de programa \ Java \ bin \ keytool.exe.

  2. HOLD SHIFT y haga clic derecho en la carpeta BIN donde se encuentra su keytool.exe y haga clic en abrir CMD o ejecutar comando desde aquí.

  3. Esto abre cmd. luego escribe

keytool -exportcert -alias NOMBRE DE SU KEYSTORE -keystore PATH OF KEYSTORE.jks "|" C: \ OpenSSL \ bin \ openssl "sha1 -binary |" C: \ OpenSSL \ bin \ openssl "base64

  1. Solicitud de contraseña, ingrese android y BOOOOOOOM ... Tiene su clave.
SUPAVIVA -The Orion TV
fuente