Generar clave de hash para la aplicación utilizando facebook sdk

Estoy usando facebook sdk para iniciar sesión en mi aplicación. La aplicación funciona bien en dispositivos HTC. La aplicación también funciona bien en los dispositivos Samsung si no hay una aplicación de facebook preinstalada.

Pero si ya hay una aplicación de Facebook en el móvil y luego el usuario instala mi aplicación, el usuario nunca está conectado. De lo que sé, creo que esto podría ser un problema de inicio de sesión único, y creo que esto es algo relacionado con la generación La clave apropiada del hash de la aplicación, y usar la llave del hash en la aplicación de Facebook que utilicé para entrar en la aplicación móvil.

Por favor, guíame cómo crear la clave hash. Estoy ejecutando Ubuntu 10.4.

Cuando ejecuto este comando en el terminal: –

keytool -exportcert -alias <your keystore alias name>.keystore -keystore ~/.android/<your keystore name>.keystore | openssl sha1 -binary | openssl base64 

Nunca se me pide contraseña, aunque se me da la clave de hash.

Prueba esto:

 Keytool -exportcert -alias androiddebugkey -keystore ~ ​​/ .android / debug.keystore |  Openssl sha1-binario |  Openssl base64 

Espero que lo consigas. Acabo de comprobarlo y me dieron la solicitud de contraseña.

Puede utilizar este bloque de código para generar clave de hash. Ponga este bloque de código en su método onCreate ().

 try { PackageInfo info = getPackageManager().getPackageInfo( "Your package name", PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures) { MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); Log.d("Your Tag", Base64.encodeToString(md.digest(), Base64.DEFAULT)); } } catch (NameNotFoundException e) { } catch (NoSuchAlgorithmException e) { } 

Sólo dé el comando como: –

 keytool -exportcert -alias androiddebugkey -keyst ore debug.keystore 

Y dar la contraseña de teclado o android o entrar

Aquí tienes que ir a la estructura de directorios hasta ". Android", a continuación, ejecute este commnad.In general, la ruta de acceso es C:\Users\User-name\.android>

Compruebe tres partes en su entorno.

  1. ¿Dónde está "debug.keystore" ?

    / -name "debug.keystore"

    Si no puede encontrarlo, compruebe que eclipse o ADT.

  2. Cuál es el nombre de alias

    keytool -list -v -keystore "PATH_TO_DEBUG_KEYSTORE"

  3. Compruebe si se ha instalado openssl

    openssl

Si todo está listo, debe pedir contraseña

Si no le pide contraseña, primero abra su terminal y escriba:

 sudo apt install openjdk-8-jre-headless 

Y luego siga la forma regular, simplemente escriba:

 keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64 

Para contraseña poner: android Usted está todo hecho.

Esta respuesta es sólo para el propósito de depuración, para uso de la versión use su archivo .jks para generar la clave hash.

 C:\openssl\bin>keytool -exportcert -alias aliasName -keystore "C:\Users\s\.android\debu g.keystore" | "C:\openssl\bin\openssl" sha1 -binary | "C:\openssl\bin\openssl" b ase64 Enter keystore password: android GEYtOJobR4NzuxX4iOl/yR6sla4= 
  • Crear archivo PKCS # 12 con certificado autofirmado a través de OpenSSL en Windows para mi aplicación para Android
  • Cómo actualizar la versión de OpenSSL en CSipSimple?
  • Cómo construir openssl en android
  • Android ssl: javax.net.ssl.SSLPeerUnverifiedException: Ningún certificado de igual (una vez más)
  • openSSL usando los problemas de NDK de Android
  • Cómo construir OpenSSL para generar libcrypto.a con Android NDK y Windows
  • Cómo utilizar OpenSSL Library en la aplicación ANDROID
  • Problemas de construcción de openssl para Android
  • Actualizar la aplicación de Android a la versión más reciente de OpenSSL
  • Javax.crypto.Cipher trabajando de forma diferente desde Android 6 Marshmallow
  • Problema SSL con Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.