Estoy leyendo una guía de desarrollo de desarrolladores de Facebook aquí
Dice que debo usar keytool para exportar la firma de mi aplicación, como por ejemplo:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
No sé cómo encontrar la herramienta de claves para ejecutarla. Intenté abrir un símbolo del sistema de Windows y pegar el comando anterior, pero no funcionó.

/usr/local/java/bin# ./keytoolsi está ejecutando Windowsfind the JDK install path and check bin folderRespuestas:
Encontré una solución por mí mismo como se cita a continuación. Funciona bien.
fuente
Simplemente ingréselos en el símbolo del sistema de Windows.
La contraseña base es
androidSe le presentará con el
MD5,SHA1ySHA256llaves; Elige el que necesitas.fuente
keytool error: java.lang.Exception: Only one command is allowed: both -exportcert and -list were specified.Para obtener el código hash de la clave de Android, siga estos pasos (para aplicaciones de Facebook)
cd C:\Program Files\Java\jdk1.6.0_26\binkeytool -export -alias myAlias -keystore C:\Users\<your user name>\.android\myKeyStore | C:\openssl-0.9.8k_WIN32\bin\openssl sha1 -binary | C:\openssl-0.9.8k_WIN32\bin\openssl enc -a -ePara obtener el código de huella digital del certificado (MD5), siga estos pasos
jarsigner.exearchivocd C:\Program Files\Java\jdk1.6.0_26\binkeytool -list -keystore "C:/Documents and Settings/<your user name>/.android/debug.keystore"android" escribir e ingresarfuente
Keytool es parte del JDK.
Intente anteponer
%{JAVA_HOME}\a la declaración ejecutiva oc:\{path to jdk}\bin.fuente
"%JAVA_HOME%\bin\keytool" -import -keystore truststore -file certificate.cer -alias my-aliasKeyTool es parte del JDK. Lo encontrará, suponiendo que instaló el JDK con la configuración predeterminada, en
$JAVA_HOME/binfuente
Robby PondLa respuesta se puede generalizar para usarJAVA_HOMEla variable de entorno y también para compensar cualquier espacio en blanco que pueda ocurrir en la ruta (comoProgram Files):fuente
keytool es parte de jdk, debería ser $ JAVA_HOME / bin / keytool
fuente
Keytool es parte del SDK de Java. Debería poder encontrarlo en su directorio SDK de Java, por ejemplo, C: \ Archivos de programa \ Java \ jdk1.6.0_14 \ bin
fuente
En la ventana de cmd (debe ejecutarse como administrador),
solo funciona si ha configurado la variable de entorno del sistema JAVA_HOME. Para configurar su variable de sistema para su ruta, puede hacer esto
Entonces, puedes escribir
o
Luego, ejecute cualquier comando proporcionado por JAVA jdk's, como
¡Solo tiene que responder las preguntas (equivalente a escribir los valores en la línea de cmd) después de presionar enter! La clave se generaría
fuente
keytool se encuentra en el directorio bin JDK ($ JAVA_HOME / bin). JAVA_HOME es el directorio de instalación de JDK. Para usar esa línea de comando, también debe incluir $ JAVA_HOME / bin en su variable de entorno PATH.
fuente
Android: dónde ejecutar el comando keytool en android
El comando Keytool se puede ejecutar en el símbolo del sistema dos, si JRE se ha configurado en su variable classpath.
Por ejemplo, si desea obtener la huella digital MD5 del certificado de depuración SDK para Android,
solo ejecuta el siguiente comando ...
¿Dónde
C:\Documents and Settings\user\.android>está el camino que contiene eldebug.keystoreque tiene que ser certificado?Para obtener información detallada, visite http://code.google.com/android/add-ons/google-apis/mapkey.html#getdebugfingerprint
fuente
Dependiendo de su versión de Eclipse (estoy usando Kepler). Vaya a Windows> Preferencias> Android> Compilar.
Encontrará la ruta de ubicación de su almacén de claves de depuración, así como la huella digital SHA1 (que puede copiar y usar)
fuente
Encontré esto en otra publicación, que no recibió muchos votos positivos, pero fue muy útil para mí. Entonces lo agregaré aquí.
Android Studio traerá una herramienta clave con él.
C:\Program Files\Android\Android Studio\jre\binPuedes ver su publicación a continuación por Richar Heap, con una referencia útil. Vi esto antes pero lo olvidé. https://stackoverflow.com/a/51524526/4446406
fuente
KEYTOOL está en JAVAC SDK. Por lo tanto, debe encontrarlo dentro del directorio que contiene javac
fuente
Si instaló Visual Studio con Xamarin / soporte de desarrollo móvil, tendrá una instalación de Java aquí
C:\Program Files\Android\jdk\microsoft_dist_openjdk_{version}\bin\, como fue mi caso.fuente
keytoolViene con el JDK. Si está utilizando cygwin, entonces esto probablemente ya esté en su camino. De lo contrario, podría excavar en la carpeta bin de su JDK.Probablemente necesitará usar cygwin de todos modos para que las tuberías de shell (
|) funcionen.fuente
Pocas observaciones mientras recibía el mismo problema (Windows). 1. La tubería de la carcasa es importante. 2. Si está utilizando OpenSSL o Cygwin, definitivamente debe instalarlo. 3. keytool viene con JDK, por lo que debe señalarlo en el comando o tiene un CD a la carpeta JDK / bin (donde reside el exe) 4. El almacén de claves de depuración generalmente se encuentra en ~ / .android / debug.keystore 5. la contraseña es "android" ya sea que la pase o la escriba cuando se le solicite. 6. Para el nombre de alias, puede abrir (NO GUARDAR, solo abrir y cerrar) el archivo del almacén de claves con cualquier editor y leerlo. 7. MÁS IMPORTANTE: existe una diferencia al especificar la ruta del almacén de claves entre comillas y sin comillas. Lo hice funcionar usando la ruta del almacén de claves dentro de las comillas dobles. Como remix090378 dijo y según las instrucciones, este comando realmente funcionó - cd C: \ Archivos de programa \ Java \ jdk1.7.0_09 \ bin
keytool -exportcert -alias androiddebugkey -keystore "C: \ Users \ userName.android \ debug.keystore" -list -v
fuente
En mi caso, ya había generado un archivo APK usando el comando
ionic cordova build android --prody necesitaba obtener la huella digital SHA-1 para el archivo APK ya existente. Así es como lo obtuve ejecutando el siguiente comando en el directorio de la aplicación:keytool -list -printcert -jarfile app-debug.apkEntonces, básicamente ejecuté el comando anterior en la siguiente ubicación de la aplicación:
C:\myApp\platforms\android\app\build\outputs\apk\debug>keytool -list -printcert -jarfile app-debug.apkEsto me dio la huella digital SHA1 como:
7B:6B:AD:...¡Espero que esto ayude a alguien!
fuente
Dado que ha instalado Java y preferiblemente un JDK en su sistema (respondiendo para Windows porque lo mencionó en su pregunta), debería tener la utilidad keytool en la
bincarpeta de su instalación .Si ese es el caso, lo que puede hacer a continuación es agregar esa carpeta bin a la
PATHvariable de entorno de su instalación de Windows.La próxima vez que abra un shell de Windows y escriba
keytool, podrá ejecutar la utilidad real.fuente