2011-12-31 32 views
6

keytool -exportcert -alias mykeystore -keystore mykeystore| openssl sha1 -binary | openssl base64facebook clave hash, confusión almacén de claves androide

hola, estoy usando el comando anterior para generar mi facebook clave hash. Pide mi contraseña y me da un hash clave. Puse este hash de clave en la configuración de la aplicación de Facebook, pero no funciona para mi aplicación de Android firmada.

Cuando estaba depurando la aplicación de Android, vi el mensaje de la consola que decía que no reconocía "clave de Android hash blahblahblah", así que copié "blahblahblah" en la aplicación de Facebook, y funcionó: mi aplicación de Android fue capaz de usa las cosas de Facebook mientras estás en modo de depuración. Pero claramente eso fue solo para el almacén de claves de depuración. Ahora, para el almacén de claves real, el que genera sigue estando mal, por lo que una versión de producción de mi aplicación no podrá usar facebook api.

Una cosa sobre mi keystore es que fue hecho en eclipse. Es un keystore con dos claves. Me he dado cuenta de que el almacén de claves de eclipse actúa de forma diferente a lo que sucede con el teclado de línea de comandos y que no son compatibles para firmar cosas. Sin embargo, ya publiqué una versión de mi aplicación, así que debo cumplir con las claves que ya uso.

Insight apreciado.

Respuesta

5

Usa keytool -list para enumerar los alias que tienes. Si no está seguro de cuál usó para firmar el APK que lanzó, pruebe ambos. Uno debería funcionar.

+0

¿me puede dar el comando completo? Hice 'keytool -list -keystore mykeystore', pidió mi contraseña y luego mostró la huella del certificado, que está en el formato' Certificado de huella digital (MD5): 2B: 43: D7: 57: ....... ..' que no es el formato has facebook quiere. cómo enumerar los alias o lo que sea, no estoy seguro de cómo proceder – CQM

+2

Use 'keytool -list -v -keystore' para listar los alias (revise las líneas 'Alias ​​name: ...'), luego reemplace el alias en su original comando con esos. –

0

Si se ejecuta Cygwin en Windows, utilice cygpath para encontrar el almacén de claves:

keytool -exportcert -alias androiddebugkey -keystore $(cygpath -aw ~/.android/debug.keystore) | openssl sha1 -binary | openssl base64 Keystore-Kennwort eingeben: android 

Si se utiliza/cygpath/c/Usuarios/nombre/... no va a funcionar.

1

Tuve el mismo problema: la clave hash de depuración funcionó, pero la clave de producción no. Terminé instalando OpenSSL desde una fuente diferente a la que instalé originalmente, volví a crear la clave hash y solucionó el problema. Este es el sitio donde obtuve OpenSSL que funcionó: http://gnuwin32.sourceforge.net/packages/openssl.htm.

+0

Amigo. Eres un salvavidas. Cada otra publicación era * CÓMO * para firmar. Ya lo hice así que me estaba desesperando un poco ya que ya había implementado en GooglePlay y algunos de mis probadores beta se estaban volviendo desagradables. Cuando vi su comentario, seguí al instante su enlace y usé esa versión de OPENSSL. – Krafty

+0

¡Me alegro de que te haya ayudado! –

Cuestiones relacionadas