No entiendo este proceso en absoluto. He podido navegar a la carpeta que contiene la herramienta clave en el SDK de Java. Aunque sigo recibiendo el error openssl no se reconoce como un comando interno o externo. El problema es que incluso si puedo hacer que esto funcione, ¿qué haría y con qué después?
182
Respuestas:
Aquí está lo que tú necesitas hacer -
Descarga openSSl de Code Extract it. cree una carpeta: OpenSSL en C: / y copie el código extraído aquí.
detectar la ruta del archivo debug.keystore. Si no lo encontró, realice una búsqueda en C: / y use la Ruta en el comando en el siguiente paso.
detecte su ruta keytool.exe y vaya a ese símbolo del sistema dir / in y ejecute este comando en 1 línea-
pedirá contraseña, ponga android eso es todo. obtendrás un hash de clave
fuente
android
.Para Linux y Mac
Terminal abierta:
Para la compilación de depuración
Encontrará debug.keystore en la carpeta ".android". Cópielo y péguelo en el escritorio y ejecute el comando anterior.
Para liberar Build
NOTA: Asegúrese de que en ambos casos solicite una contraseña. Si no solicita una contraseña, significa que algo está mal en el comando. La contraseña para debug.keystore es " android " y para la liberación debe ingresar la contraseña que estableció durante la creación del almacén de claves .
fuente
keytool -exportcert -alias <aliasName> -keystore <keystoreFilePath>
solo al principio, para ver si todo está bien. Además, cuando se canaliza, keytool está en modo no interactivo y muestra la contraseña en texto sin formato cuando la ingresa. Por lo tanto, es mejor que escriba un pequeño script que ejecute los comandos por separado.Por favor intente esto:
fuente
OpenSSL: debe instalarlo si no viene preinstalado con su sistema operativo (por ejemplo, Windows no lo tiene preinstalado) . La instalación depende de su sistema operativo (para Windows, consulte el enlace proporcionado por coder_For_Life22).
La forma más fácil sin perder el tiempo es copiando el archivo binario openssl.exe a su ruta de keytool si está en Windows. Si no desea hacer eso, debe agregarlo a su
PATH
variable de entorno. Luego ejecute el comando provisto en los documentos.Tenga en cuenta que el argumento posterior
-keystore
apunta a su almacén de claves de depuración. Esta ubicación también depende de su sistema operativo. Debe estar en una de las siguientes ubicaciones:Si hizo todo bien, se le pedirá una contraseña. Eso es
android
para el certificado de depuración. Si la contraseña es correcta, la consola imprime un hash (caracteres y números algo aleatorios).Tómelo y cópielo en el
android key hash
campo dentro de las preferencias de su aplicación en Facebook. Para llegar allí, vaya a developers.facebook.com/apps , seleccione su aplicación, vayaEdit settings
y desplácese hacia abajo. Después de eso, espere unos minutos hasta que los cambios surtan efecto.fuente
para generar su hash de clave en su computadora local, ejecute la utilidad keytool de Java (que debería estar en la ruta de su consola) contra el almacén de claves de depuración de Android. Esto está, por defecto, en su directorio de inicio .android). En OS X, ejecute:
En Windows, use: -
Espero que esto te ayudará
Ref - desarrollador sitio de facebook
fuente
Simplemente puede usar una línea javascript en la consola del navegador para convertir una clave de mapa hexadecimal a base64. Abrir la consola de última versión del navegador (F12 en ventanas) y pegue el código y reemplazar el
SHA-1
,SHA-256
mapa hexagonal que Google Play ofrece bajoRelease Managment
>App signing
:fuente
Aquí hay detalles completos (para Windows)
1. Descargue OpenSSl 3ro o 4to (con e funcionará mejor) basado en su sistema de 32 bits o 64 bits.
2. Extraiga el zip descargado dentro del directorio C
3. Abra la carpeta extraída en bin y copie la ruta, debería ser algo como
C:\openssl-0.9.8k_X64\bin\openssl
(agregar \ openssl al final)4) (Obtenga la ruta a la carpeta bin de Jdk, si sabe cómo, ignore esto).
Abra el archivo ~ de Android studio ~ Estructura del proyecto (ctrl + alt + shift + s), seleccione la ubicación del SDK en el panel lateral izquierdo, copie la ubicación del JDK y agregue / bin
Entonces la ubicación final de JDK será como
C:\Program Files\Android\Android Studio\jre\bin
estamos siguiendo este método para obtener la ubicación de Jdk porque podrías usar jdk incrustado como yo
ahora tiene la ubicación OpenSSl y la ubicación JDK
5. ahora necesitamos la ubicación del almacén de claves de depuración, para eso abrir C ~> Usuarios ~> YourUserName ~> .android debería haber un nombre de archivo debug.keystore, ahora copie la ubicación de la ruta, debería ser algo así como
C:\Users\Redman\.android\debug.keystore
6. ahora abra el símbolo del sistema y escriba command
en mi caso
7. ahora construya el siguiente comando
en mi caso el comando se verá así
ahora ingrese este comando en el símbolo del sistema, si alguna vez hizo lo correcto, se le pedirá una contraseña (la contraseña es Android)
eso es todo, se te dará el Key Hash, solo cópialo y úsalo
Para KeyHash firmado, construya el siguiente comando
ingrese su contraseña de almacén de claves, si ingresa una contraseña incorrecta, obtendrá KeyHash incorrecto
NOTA
Si por alguna razón da error en alguna ruta, envuélvala entre comillas dobles. Además, Windows Power Shell no funcionaba bien para mí, usé git bash (o uso del símbolo del sistema).
ejemplo
fuente
También hay una solución corta. Simplemente ejecute esto en su aplicación:
Uno más largo que no necesita FB SDK (basado en una solución aquí ):
El resultado debe terminar con "=".
fuente
-AAAAAAAA_AAAAAA-AAAAAAAAAA
que Facebook no lo permite, printHashKey devolvió la clave en un formato válido+AAAAAAAA/AAAAAA+AAAAAAAAAA=
Para ventanas:
Ingrese la contraseña: android -> Presione Enter
Copiar clave de hash generada -> Inicie sesión en Facebook con su cuenta de desarrollador
Vaya a su aplicación de Facebook -> Configuración -> Pegar clave de hash en la opción "clave hash" -> guardar cambios.
Ahora pruebe su aplicación de Android con Facebook Iniciar sesión / Compartir, etc.
fuente
Desde API 26, puede generar sus HASH KEYS utilizando el siguiente código en KOTLIN sin necesidad de Facebook SDK.
fuente
class MainActivity: FlutterActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) GeneratedPluginRegistrant.registerWith(this) } }
Así es como obtuve mi:
Entonces, cuando intente ingresar sin la clave, se producirá una excepción. Facebook puso la tecla DERECHA en esta excepción. Todo lo que necesitas hacer es copiarlo.
fuente
Si ya ha subido la aplicación a Play Store, puede generar Hash Key de la siguiente manera:
1) Ir a Administración de versiones aquí
2) Seleccione Release Management -> App Signing
3) Puede ver la clave SHA1 en formato hexadecimal Certificado de firma de la aplicación.
4) Copie el SHA1 en formato hexadecimal y conviértalo en formato base64, puede usar este enlace para hacerlo sin el SHA1: parte del hexadecimal.
5) Vaya a la consola de desarrollador de Facebook y agregue la clave (después de convertir a la base 64) en la configuración -> básico -> hashes clave.
fuente
Para facilitar el enlace tutorial vedio para generar KeyHash aquí
Descargar openssl desde AQUÍ
fuente
Descargar open ssl :
Luego agregue openssl \ bin a las variables del sistema de ruta:
Mi computadora -> propiedades -> Configuraciones avanzadas -> Avanzado -> Variables del sistema -> en las variables del sistema encontrar ruta y agregar esto a sus terminaciones:; yourFullOpenSSLDir \ bin
Ahora abra una línea de comando en su carpeta jdk \ bin C: \ Archivos de programa \ Java \ jdk1.8.0_40 \ bin (en Windows mantenga presionada la tecla Mayús y haga clic derecho -> abrir línea de comando aquí) y use:
Y copie el número de 28 longitudes que genera después de dar la contraseña.
fuente
Ejecute esto en su aplicación:
O esto:
Y luego mira los registros.
El resultado debe terminar con "=".
La solución se basa en aquí y aquí .
fuente
EASY WAY -> ¡No instales openssl -> USE GIT BASH!
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
La contraseña predeterminada es "android"
La mayoría de nosotros tenemos instalado Git Bash, así que esta es mi forma favorita.
fuente
esto también ayudará a los recién llegados.
simplemente agregando más detalles a la respuesta de @ coder_For_Life22.
Si esta respuesta te ayuda, no te olvides de votar. Nos motiva.
para esto, ya debe conocer la ruta del archivo y la contraseña del almacén de claves de la aplicación;
en este ejemplo, considere que la clave está almacenada en "c: \ keystorekey \ new.jks"
1. abra esta página https://code.google.com/archive / p / openssl-for-windows / downloads
2. descargue el archivo zip de 32 o 64 bits según su sistema operativo Windows.
3. extraiga el archivo descargado donde quiera y recuerde la ruta.
4. para este ejemplo consideramos que ha extraído la carpeta en la carpeta de descarga.
entonces la dirección del archivo será "C: \ Users \ 0 \ Downloads \ openssl-0.9.8e_X64 \ bin \ openssl.exe";
5. ahora en el teclado presione windows + r botón.
6. Esto abrirá el cuadro de ejecución.
7. escriba cmd y presione Ctrl + Shift + Enter .
8. Esto abrirá el símbolo del sistema como administrador.
9. navegue hasta la carpeta bin de java:
si utiliza jre proporcionado por Android Studio, encontrará la ruta de la siguiente manera:
a. Abra el estudio de Android.
si. archivo-> estructura del proyecto
c. en el panel izquierdo, haga clic en 'Ubicación del SDK'
d. en el panel derecho, debajo de 'ubicación JDK' está su ruta jre.
mi. agregue "\ bin" al final de esta ruta ya que el archivo "keytool.exe", que necesitamos, está dentro de esta carpeta.
para este ejemplo considero,
"C: \ Archivos de programa \ Java \ jre-10.0.2 \ bin"
si ha instalado 32bit java, estará en
"C: \ Archivos de programa (x86) \ Java \ jre-10.0.2 \ bin"
10. ahora con las rutas anteriores, ejecute el comando de la siguiente manera:
!!!!!! esto te dará la llave
errores: si obtiene:
---
'keytool' no se reconoce como un comando interno o externo
---
esto significa que Java está instalado en otro lugar.
fuente
paso 1-> C: \ Archivos de programa \ Java \ jdk1.6.0_43 \ bin>
Paso 2-> keytool -list -v -keystore C: \ Users \ leon \ .android \ debug.keystore -alias androiddebugkey -storepass android -keypass android
obtuvo el valor SHA1 haga clic en este enlace u convierta su valor SHA1 en HASH KEY
Estoy 100% seguro de que este enlace te ayudará
fuente
Manera fácil
Al usar este sitio web , puede obtener Hash Key al convertir la clave SHA1 en Hash Key para Facebook.
fuente
Puede obtener todas sus huellas digitales de https://console.developers.google.com/projectselector/apis/credentials
y usar este código de Kotlin para convertirlo en keyhash:
fuente
https://developers.facebook.com/docs/android/getting-started/
4.19.0 - 25 de enero de 2017
Facebook SDK
Modificado
Facebook SDK ahora se inicializa automáticamente cuando se inicia la aplicación. En la mayoría de los casos, ya no se necesita una llamada manual a FacebookSDK.sdkInitialize (). Consulte la guía de actualización para más detalles.
Para depurar
fuente
Simplemente ejecute este código en su OnCreateView o OnStart Actvity y esta función le devolverá la clave de desarrollo Hash .
fuente
Estaba teniendo el mismo problema exacto, no me pedían una contraseña y parece que tenía la ruta incorrecta para el archivo del almacén de claves.
De hecho, si la herramienta de claves no encuentra el almacén de claves que ha establecido, creará una y le dará la clave incorrecta ya que no está utilizando la correcta.
La regla general es que si no se le solicita una contraseña, se genera la clave incorrecta.
fuente
Puedes usar este apk
fuente
Prueba esta respuesta
https://stackoverflow.com/a/54513168/9236994
con esfuerzos mínimos ayuda a resolver el problema.
fuente
keytool -exportcert -alias androiddebugkey -keystore "C: \ Users ** Deepak **. android \ debug.keystore" | " C: \ Users \ Deepak \ ssl \ bin \ openssl" sha1 -binary | " C: \ Usuarios \ Deepak \ ssl \ bin \ openssl" base64
2 Cambios en este comando anterior 1.Deepak === Reemplazar por su sistema NOMBRE DE USUARIO 2.C: \ Users \ Deepak \ ssl === responda su ruta Open SSL
ejecuta este comando y obtén resultados como este
C: \ Users \ Deepak> keytool -exportcert -alias androiddebugkey -keystore "C: \ Users \ D eepak.android \ debug.keystore" | "C: \ Users \ Deepak \ ssl \ bin \ openssl" sha1 -binary | "C: \ Users \ Deepak \ ssl \ bin \ openssl" base64 Ingrese la contraseña del almacén de claves: ****** ga0RGNY ****************** =
fuente
Si alguien tiene problemas con openssl, siga estas instrucciones:
Eso es
https://sourceforge.net/projects/openssl/files/latest/download
fuente