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# ./keytool
si está ejecutando Windowsfind the JDK install path and check bin folder
Respuestas:
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
android
Se le presentará con el
MD5
,SHA1
ySHA256
llaves; 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\bin
keytool -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 -e
Para obtener el código de huella digital del certificado (MD5), siga estos pasos
jarsigner.exe
archivocd C:\Program Files\Java\jdk1.6.0_26\bin
keytool -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-alias
KeyTool es parte del JDK. Lo encontrará, suponiendo que instaló el JDK con la configuración predeterminada, en
$JAVA_HOME/bin
fuente
Robby Pond
La respuesta se puede generalizar para usarJAVA_HOME
la 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.keystore
que 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\bin
Puedes 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
keytool
Viene 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 --prod
y 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.apk
Entonces, 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.apk
Esto 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
bin
carpeta de su instalación .Si ese es el caso, lo que puede hacer a continuación es agregar esa carpeta bin a la
PATH
variable 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