Gibt es eine Möglichkeit, Schlüssel-Hash von signierten APK zu bekommen? Wir haben eine signierte Android-apk-Datei, und wir möchten Schlüssel-Hash von diesem APK herausfinden, für Facebook SDK ?
Irgendwelche Vorschläge?
Für Windows-Benutzer, die den Schlüssel von openssl erhalten, kann dies manchmal schwierig sein. Ich benutze dies immer, um das richtige .__ zu finden. Signatur .. Fügen Sie diesen Code einfach in onCreate () ein und führen Sie ihn aus.
// Add code to print out the key hash
try {
PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.e("MY KEY HASH:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
Update:
Verwenden von Android Studio (2.1.2):
Dadurch wird eine Gradle-Task ausgeführt, die das Debug- und Freigabezertifikat mit den Schlüsseln md5 und sha1 druckt
Unter Linux habe ich diesen Befehl verwendet, um den Schlüsselhash von einem apk zu erhalten:
keytool -list -printcert -jarfile [path_to_your_apk] | grep -Po "(?<=SHA1:) .*" | xxd -r -p | openssl base64
Für Mac-Benutzer (OS X) gibt es keine Unterstützung für grep -P
keytool -list -printcert -jarfile ~/Downloads/YOURAPKFILE.apk | grep "SHA1: " | cut -d " " -f 3 | xxd -r -p | openssl base64
Sie können openssa von hier herunterladen
Führen Sie den folgenden Befehl aus, um Ihr Keyhash zu generieren. Beim Generieren von Hashkey sollte das Kennwort abgefragt werden.
keytool -exportcert -alias androiddebugkey -keystore "C:\Users\Anhsirk.Android\debug.keystore" | openssl sha1 -binary | openssl base64
NOTE: Beachten Sie, dass Sie im obigen Code Ihren Pfad zum Benutzer angeben müssen (d. H. In diesem Fall C:\Users\Anhsirk). Sie müssen dies nur für Ihr Benutzerkonto ändern.
Geben Sie das Kennwort als Android ein. Wenn Sie nicht nach einem Kennwort fragen, ist Ihr Keystore-Pfad falsch.
Wenn ich meine Facebook-App erstellt habe. Ich habe meinen Android-Keystore verwendet. Dafür gibt es eine Hash-Funktion. Häufig in den Google-APIs verwendet (Anweisungen finden Sie dort). Wenn Sie die App besitzen und signiert haben; Dies sollte kein Problem sein, sonst ... Sie im Grunde verschraubt. Es gibt keinen Weg.