2016-07-23 26 views
0

Ich habe eine App erstellt, die die Facebook-Anmeldung verwendet. Ich habe den Schlüssel-Hash zur Facebook-Entwickler-Seite hinzugefügt und es funktionierte auf allen Geräten gut. Jetzt habe ich die App auf Google Play hochgeladen, und wenn ich versuche, mich anzumelden, sagt es, dass der Schlüssel-Hash nicht mit irgendwelchen gespeicherten Schlüssel-Hashes übereinstimmt. Ich habe den Schlüssel-Hash in die Fehlermeldung kopiert und eingefügt. Immer noch - funktioniert nicht. Ich habe versucht, einen Schlüssel-Hash in cmd mit dem Release-Key-Store zu generieren - kein Glück.ungültiger Schlüssel Hash - Android facebook

Weiß jemand, was das Problem ist und wie es zu beheben?

Vielen Dank im Voraus!

Antwort

2

Versuchen Sie den folgenden Code-Schnipsel zu Ihrer App hinzugefügt, während es mit dem Release-Zertifikat signiert ist, zu vergleichen, die Hash-Ausgabe mit dem von Ihnen das Facebook-Portal vorgelegt:

PackageInfo info; 
try { 
    info = getPackageManager().getPackageInfo("com.package.name", PackageManager.GET_SIGNATURES); 
    for (Signature signature : info.signatures) { 
     MessageDigest md; 
     md = MessageDigest.getInstance("SHA"); 
     md.update(signature.toByteArray()); 
     String hash= new String(Base64.encode(md.digest(), 0)); 
     Log.e("hash", hash); 
    } 
} catch (NameNotFoundException e1) { 
    Log.e("name not found", e1.toString()); 
} catch (NoSuchAlgorithmException e) { 
    Log.e("no such an algorithm", e.toString()); 
} catch (Exception e) { 
    Log.e("exception", e.toString()); 
} 
+0

Aber das gibt mir einen Schlüssel-Hash für Debug . Es ist bereits im Facebook-Portal. Es unterscheidet sich von dem Schlüssel in der Fehlermeldung. – tamird14

+0

Veröffentlichen Sie Ihre App mit dem Veröffentlichungszertifikat und führen Sie das Snippet aus, es wird den Hash des Veröffentlichungszertifikats angezeigt. –

+0

Wenn ich versuche, die App über Android Studio auszuführen, verwendet es den Debug Keystore (es deinstalliere meine App von Google Play und installiere ein ein neues). Wenn ich die App von Google Play aus starte, wo sehe ich die Log-Nachricht? – tamird14