Intentando crear una aplicación de Android con integración de Facebook, llegué a la parte de los documentos donde tienes que generar un archivo de clave hash, especifica ejecutar el siguiente código
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore
| openssl sha1 -binary
| openssl base64
Cuando ejecuto esto en mi terminal, aparece un error de Keystore manipulado o la contraseña es incorrecta,
Solo quiero generar mi Key Hash
¿Alguien puede señalarme en la dirección correcta?
Respuestas:
Elimine su certificado de depuración en ~ / .android / debug.keystore (en Linux y Mac OS X); el directorio es algo así como% USERHOME% /. android en Windows.
El complemento de Eclipse debería generar un nuevo certificado la próxima vez que intente crear un paquete de depuración.
Déjame saber si eso funciona.
fuente
Para generar hash de clave, debe seguir algunos pasos sencillos.
1) Descarga Openssl desde: aquí.
2) Cree una carpeta openssl en la unidad C
3) Extraiga los archivos Zip en esta carpeta openssl creada en C Drive.
4) Copie el archivo debug.keystore de la carpeta .android en mi caso (C: \ Users \ SYSTEM.android) y péguelo en la carpeta bin JDK en mi caso (C: \ Program Files \ Java \ jdk1.6.0_05 \ bin)
5) Abra el símbolo del sistema y proporcione la ruta de la carpeta JDK Bin en mi caso (C: \ Archivos de programa \ Java \ jdk1.6.0_05 \ bin).
6) Copie el siguiente código y presione enter
7) Ahora debe ingresar la contraseña , Password = android.
8) Si ve en la carpeta Bin de openssl , obtendrá un archivo con el nombre de debug.txt
9) Ahora puede reiniciar el símbolo del sistema o trabajar con el símbolo del sistema existente
10) vuelva a la unidad C y proporcione la ruta de la carpeta Bin de openssl
11) copia el siguiente código y pégalo
12) obtendrá debug_sha.txt en la carpeta bin de openssl
13) Copie nuevamente el siguiente código y péguelo
14) obtendrá debug_base64.txt en la carpeta bin de openssl
15) abra el archivo debug_base64.txt Aquí está su clave hash.
fuente
RESPUESTA ACTUALIZADA (Generando a través de código) Método más simple:
En mi experiencia, openssl siempre es problemático, probé el segundo método sugerido por Facebook. Y es maravilloso. Este es el mejor método para obtener la clave hash.
La segunda opción es imprimir el hash de clave enviado a Facebook y usar ese valor. Realice los siguientes cambios en el método onCreate () en su actividad principal:
Reemplace com.facebook.samples.loginhowto con su propio nombre de paquete (nombre de paquete en Manifest.xml).
Enlace oficial: https://developers.facebook.com/docs/android/login-with-facebook/ (Ver la parte inferior de la página)
ANTIGUA RESPUESTA (Generando Keyhash usando openssl)
openssl
carpetaopenssl
carpeta de laC:
unidadbin
deopenssl
ieC:\openssl\bin
en el símbolo del sistemaejecute el siguiente comando para generar su keyhash. Mientras genera hashkey, debería pedirte una contraseña.
keytool -exportcert -alias androiddebugkey -keystore "C: \ Users \ Anhsirk.android \ debug.keystore" | openssl sha1 -binary | openssl base64
NOTA : en el código anterior, tenga en cuenta que debe proporcionar su ruta al usuario (es decir, en mi caso es C: \ Users \ Anhsirk, solo necesita cambiar esto para su cuenta de usuario.
. Si no solicita la contraseña, la ruta del almacén de claves es incorrecta.
Si todo funciona bien, debería darle el hashkey a continuación.
fuente
La forma más sencilla de generar claves hash.
Requisito: clave SHA1
Puede obtener la clave SHA1 de su archivo de almacén de claves de dos maneras
1) Ubique su archivo de almacén de claves, abra el símbolo del sistema en esa ubicación y luego use el comando mencionado a continuación
y luego ingrese su contraseña, luego devolverá las claves md5, sha1 y sha256.
O
2) Mediante la ejecución de signingReport
Consulte la imagen de abajo.
después de ejecutar el archivo, se generará la salida que contiene la clave sha1 requerida.
Después de obtener la clave SHA1 requerida
Luego ve a
http://tomeko.net/online_tools/hex_to_base64.php
y pega tu clave sha1
y finalmente obtendrás la HashKey requerida que puedes usar para aplicar en Facebook.
fuente
La clave correcta se puede obtener de la propia aplicación agregando el siguiente código para brindar el hash de clave adecuado (en el caso de Facebook SDK 3.0 en adelante, esto funciona)
Reemplace com.package.mypackage con el nombre de su paquete
fuente
I. Crear depuración de hash de clave para Facebook
Agregue código para imprimir el hash de la clave para Facebook
II. Crear lanzamiento de clave hash para facebook
Descargar openssl-0.9.8e_X64
Crear una carpeta openssl en la unidad C
Extraiga los archivos Zip en la carpeta openssl
Inicio -> Ejecutar: cmd (presione enter)
(presione) cd C: \ Archivos de programa \ Java \ jdk1.6.0_45 \ bin. Nota: C: \ Archivos de programa \ Java \ jdk1.6.0_45 \ bin: es la ruta a la carpeta jdk en su computadora
(presione) keytool -exportcert -alias gci -keystore D: \ carpeta \ keystorerelease | C: \ openssl \ bin \ openssl sha1 -binary | C: \ openssl \ bin \ openssl base64. Nota: D: \ carpeta \ keystorerelease: es la ruta a su keystorerelease
Introduzca la contraseña del almacén de claves: esta es la contraseña cuando se libera el almacén de claves de registro.
Entonces tendrás un hash clave: jDehABCDIQEDWAYz5Ow4sjsxLSw =
Inicio de sesión de Facebook. Acceso para administrar aplicaciones. Pegue el hash de la clave en su aplicación en developers.facebook.com
fuente
LA SOLUCIÓN MÁS SIMPLE QUE EXISTE PARA ESTE PROBLEMA:
He tenido este problema durante dos meses. Mis hashes de clave han sido pyling hasta 9. Hoy finalmente encontré la solución simple:
PASO 1:
Instale el SDK de Facebook que descargó de la página del desarrollador de Facebook en su teléfono. No instale la aplicación de Facebook normal. Asegúrese de poder iniciar sesión en Facebook. Luego cierre la sesión.
PASO 2:
Exporta tu aplicación con tu clave de lanzamiento final como apk, como lo harías cuando la subas a la tienda de juegos.
PASO 3:
Coloque el archivo Apk en su teléfono mediante un cable USB o una memoria USB.
PASO 4:
Instale su aplicación, usando un administrador de archivos: Ejemplo
PASO 5:
Inicie su aplicación e intente iniciar sesión con Facebook. Se abrirá un cuadro de diálogo que le dirá: "la clave YOURHASHKEY no se ha encontrado en la consola de desarrollo de Facebook"
PASO 6:
Anote la clave.
PASO 7:
Ponlo en tu consola de desarrollador de Facebook y guarda. Ahora has terminado. Cualquiera que descargue su aplicación, publicada con un almacén de claves usado anteriormente, puede iniciar sesión en Facebook.
Disfrutar
fuente
Si está lanzando, use el almacén de claves que utilizó para exportar su aplicación y no el debug.keystore.
fuente
La contraseña del certificado de depuración es Android y no Android
fuente
Al final :)
Aquí mi historia:
Agregue este código a su actividad principal, después de configurar el diseño.
¡Cambie PROJECTNAME por el nombre de su paquete!
fuente
Solución de una línea para generar para facebook
fuente
Para generar el hash de la clave de lanzamiento, debe seguir algunos pasos sencillos.
1) Descarga Openssl
2) Cree una carpeta openssl en la unidad C
3) Extraiga los archivos Zip en esta carpeta openssl creada en C Drive.
4) Copie el archivo debug.keystore de la carpeta .android en mi caso (C: \ Users \ SYSTEM.android) y péguelo en la carpeta bin JDK en mi caso (C: \ Program Files \ Java \ jdk1.6.0_05 \ bin)
5) Abra el símbolo del sistema y proporcione la ruta de la carpeta JDK Bin en mi caso (C: \ Archivos de programa \ Java \ jdk1.7.0_40 \ bin).
6) Copie el siguiente código y presione enter
keytool -exportcert -alias abcd-keystore D: \ Projects \ MyAppFolder \ keystore.txt | C: \ openssl \ bin \ openssl sha1 - binario | C: \ openssl \ bin \ openssl base64 ex - keytool -exportcert -alias (su nombre de alias de sing apk ingrese aquí como mi signo apk alian nombre es abcd) -keystore "apth del almacén de claves generado por apk firmado ingrese aquí" | "ruta de la carpeta bin openssl ingrese aquí" sha1 - binary | "ruta de la carpeta bin openssl ingrese aquí" base64
7) Ahora debe ingresar la contraseña, Contraseña = (ingrese la contraseña del almacén de claves de firma aquí)
8) tienes un almacén de claves que se utiliza para liberar el hash de la clave de la aplicación
fuente
Aunque este hilo es antiguo, me gustaría compartir mi experiencia (recientemente comencé a trabajar con Facebook), que me parece clara:
Para obtener la clave de desarrollo para la integración de Facebook, use el siguiente comando desde la línea de comandos en Windows:
keytool -exportcert -alias androiddebugkey -keystore% HOMEPATH% .android \ debug.keystore | "C: \ openssl \ bin \ openssl.exe" sha1 -binary | "C: \ openssl \ bin \ openssl.exe" base64
Escriba android como contraseña como se muestra arriba.
¡Eso es! Se le dará una clave de 28 caracteres. ¡Salud!
Utilice el mismo procedimiento para obtener la clave de liberación. Simplemente reemplace el comando con lo siguiente y use su alias de clave de lanzamiento.
keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | "RUTA PARA openssl.exe" sha1 -binary | openssl base64
fuente
Generar clave hash de depuración
Generar clave hash de lanzamiento
fuente
Gran publicación de blog sobre el tema.
Extrayendo el hash de clave de la clave .p12
Gran y sencillo editor hexadecimal para mac: HexFiend
OpenSSL debe estar preinstalado en mac, y aquí está el enlace para la versión de Windows.
Enlace
fuente
AppEntry
Intente pasar la contraseña de la clave y almacenarla como parte del comando
fuente
Pude realizar la tarea solicitada con algunas de las soluciones aquí, pero pensé, chico, eso es estúpido ... ¿por qué no escribir un pequeño código Java que haga esto y empaquetarlo en un Jar? ..
Un enlace para descargar el Jar
Funciona en Windows 8 ... no probé ningún otro sistema operativo.
fuente
Hola a todos, es mi historia cómo me firman tiene clave para facebook
En primer lugar, solo tiene que copiar estos 2 métodos en su primera clase.
** Llame a la función getAppKeyHash () desde su método oncreate si desea un hash firmado, luego haga la compilación firmada, instale la compilación firmada y ejecute. APK firmado **
fuente
Si su contraseña = Android es incorrecta, coloque la contraseña de su PC para que funcione para mí.
Y para generar keyHash prueba este enlace Aquí
fuente
Lo único que me funciona es usar la contraseña
android
. ¿Por qué eso no se menciona en ninguna guía?fuente
use esto en kotlin para imprimir el hash de la clave en el registro
fuente