Cómo generar Keyhash (Facebook) con Keytool en android para W7 32bit
He intentado generar el Keyhash para integrar el Facebook en nuestra aplicación, pero cuando he generado el keyhash a través de cmd prompt, no puede generar.
C:\Users\DON\.android>keytool -exportcert -alias androiddebugkey -keystore ~/.an droid/debug.keystore | openssl sha1 -binary | openssl base64
Keytool no se reconoce como un comando interno o externo, un programa operativo o un archivo por lotes.
- Subir fotos a Facebook: Añadir parámetros antes de ejecutar la llamada newUploadPhotoRequest da el error 'OAuthException'
- ¿Cómo puedo integrar Facebook LoginButton en PreferenceScreen
- Iniciar sesión con permiso adicional con Facebook SDK 3 para Android
- "URL con esquema personalizado" en datos de iOS y "URL" en datos de Android en facebook
- Android: ¿Cómo compartir la imagen con texto en facebook mediante la intención?
Y otro comando que uso es:
C:\Program Files\Java\jdk1.6.0_20\bin>keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
'Openssl' no se reconoce como un comando interno o externo, un programa operativo o un archivo por lotes.
¿Cuál es el problema?
- Ejecución de múltiples instancias de la misma aplicación en kitkat android
- Keytool con Android SDK de Facebook
- Token de acceso a Facebook siempre nulo
- Desbloqueo de Android Facebook 4.0 mediante programación
- Cordova-plugin-facebook4 mensaje con error de imagen en Android
- Facebook Like button Integración en Android
- Empuje la actividad a la derecha cuando el cajón abierto
- Cómo abrir la Página de fans de Facebook y comprobar si el usuario le ha gustado
Utilizando este comando primero descargue este archivo http://code.google.com/p/openssl-for-windows/downloads/detail?name=openssl-0.9.8k_WIN32.zip . A continuación, extraiga el archivo y ejecute este comando:
C:\Program Files\Java\jdk1.6.0_20\bin>keytool -export -alias myAlias -keystore C:\Users\DON\.android\myKeyStore | C:\openssl\bin\openssl sha1 -binary | C:\openssl\bin\openssl enc -a -xtIm30l*********=
DON es el nombre de mi sistema y debe ser reemplazado por el nombre del sistema.
- Descargue el paquete openssl-for-windows .
- Extraer la cremallera.
- En las ventanas, edite la variable de sistema de ruta que apunta a
<openssl-extracted-folder>/bin
- A continuación, ejecute el comando.
En primer lugar hacer la instalación de Facebook sdk a continuación, el programa principal si se agrega esto, obtendrá keyhash en la consola
Habrá posibilidades de 3 teclas de tipo una vez que se depura y otra es la clave de liberación y después de la carga de google cambios de firma, puede proporcionar todas estas 3 claves para la cuenta de desarrollador de Facebook, a continuación, puede comprobar el inicio de sesión de facebook. Dependiendo de su facebook modo de aplicación coincidirá con la tostada key.Use para ver el keyhash, si no conoce el monitor de android desde el estudio de Android
import com.facebook.FacebookSdk; import com.facebook.appevents.AppEventsLogger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); FacebookSdk.sdkInitialize(getApplicationContext()); AppEventsLogger.activateApp(this); printKeyHash(); } private void printKeyHash() { try { PackageInfo info = getPackageManager().getPackageInfo( getPackageName(), PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures) { MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); Log.i("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT)); } } catch (PackageManager.NameNotFoundException e) { Log.e("jk", "Exception(NameNotFoundException) : " + e); } catch (NoSuchAlgorithmException e) { Log.e("mkm", "Exception(NoSuchAlgorithmException) : " + e); } }
}
Es la respuesta tardía, pero ayudará a la gente perezosa como yo .. añadir este código a su clase de aplicación, no hay necesidad de descargar openssl y no hay necesidad de establecer la ruta .. sólo necesita es sólo copiar mi código .. y keyHash Generados en log.
import com.facebook.FacebookSdk; public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); FacebookSdk.sdkInitialize(getApplicationContext()); AppEventsLogger.activateApp(this); printKeyHash(); } private void printKeyHash() { try { PackageInfo info = getPackageManager().getPackageInfo( getPackageName(), PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures) { MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); Log.i("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT)); } } catch (PackageManager.NameNotFoundException e) { Log.e("jk", "Exception(NameNotFoundException) : " + e); } catch (NoSuchAlgorithmException e) { Log.e("mkm", "Exception(NoSuchAlgorithmException) : " + e); } } }
Y no se olvide de añadir la clase MyApplication en el manifiesto:
<application android:name=".application.MyApplication" </application>
- Cambiar el idioma del dispositivo a través de ADB
- Phonegap – Android Cómo ajustar el diseño en modo de pantalla completa cuando el teclado virtual está visible