Beim Versuch, eine Android-App mit Facebook-Integration zu erstellen, bin ich zu dem Teil in den Dokumenten gekommen, in dem Sie eine Schlüssel-Hash-Datei generieren müssen. Diese gibt an, dass der folgende Code ausgeführt werden soll
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore
| openssl sha1 -binary
| openssl base64
Wenn ich dies in meinem Terminal ausführe, wird eine Fehlermeldung für den manipulierten Keystore angezeigt oder das Passwort war falsch.
Ich möchte nur meinen Key Hash generieren
Kann mich jemand in die richtige Richtung weisen?
Antworten:
Löschen Sie Ihr Debug-Zertifikat unter ~ / .android / debug.keystore (unter Linux und Mac OS X). Das Verzeichnis ist so etwas wie% USERHOME% /. android unter Windows.
Das Eclipse-Plugin sollte dann ein neues Zertifikat generieren, wenn Sie das nächste Mal versuchen, ein Debug-Paket zu erstellen.
Lassen Sie mich wissen, ob das funktioniert.
quelle
Um Schlüssel-Hash zu generieren, müssen Sie einige einfache Schritte ausführen.
1) Laden Sie Openssl von hier herunter .
2) Erstellen Sie einen openssl- Ordner im Laufwerk C.
3) Extrahieren Sie Zip-Dateien in diesen in C Drive erstellten openssl- Ordner .
4) Kopieren Sie die Datei debug.keystore aus dem Ordner .android in meinem Fall (C: \ Users \ SYSTEM.android) und fügen Sie sie in den Fall JDK bin ein (C: \ Programme \ Java \ jdk1.6.0_05 \ bin).
5) Öffnen Sie die Eingabeaufforderung und geben Sie in meinem Fall den Pfad des JDK-Bin-Ordners an (C: \ Programme \ Java \ jdk1.6.0_05 \ bin).
6) Kopieren Sie den folgenden Code und drücken Sie die Eingabetaste
7) Jetzt müssen Sie Passwort eingeben , Passwort = Android.
8) Wenn Sie im Ordner openssl Bin sehen, erhalten Sie eine Datei mit dem Namen debug.txt
9) Jetzt können Sie entweder die Eingabeaufforderung neu starten oder mit der vorhandenen Eingabeaufforderung arbeiten
10) Kehren Sie zum Laufwerk C zurück und geben Sie den Pfad des Ordners openssl Bin an
11) Kopieren Sie den folgenden Code und fügen Sie ihn ein
12) Sie erhalten debug_sha.txt im Ordner openssl bin
13) Kopieren Sie erneut den folgenden Code und fügen Sie ihn ein
14) Sie erhalten debug_base64.txt im Ordner openssl bin
15) Öffnen Sie die Datei debug_base64.txt. Hier ist Ihr Schlüssel-Hash.
quelle
AKTUALISIERTE ANTWORT (Generieren durch Code) Einfachere Methode:
Nach meiner Erfahrung, da openssl immer problematisch ist, habe ich die zweite von Facebook vorgeschlagene Methode ausprobiert. Und es ist wunderbar. Dies ist die beste Methode, um den Hash-Schlüssel zu erhalten.
Die zweite Möglichkeit besteht darin, den an Facebook gesendeten Schlüssel-Hash auszudrucken und diesen Wert zu verwenden. Nehmen Sie in Ihrer Hauptaktivität die folgenden Änderungen an der onCreate () -Methode vor:
Ersetzen Sie com.facebook.samples.loginhowto durch Ihren eigenen Paketnamen (Paketname in Manifest.xml).
Offizieller Link - https://developers.facebook.com/docs/android/login-with-facebook/ (Siehe unten auf der Seite)
ALTE ANTWORT (Keyhash mit openssl generieren)
openssl
Ordner erstellenopenssl
Ordner imC:
Laufwerkbin
vonopenssl
dhC:\openssl\bin
in der EingabeaufforderungFühren Sie den folgenden Befehl aus, um Ihren Keyhash zu generieren. Beim Generieren des Hashkeys sollten Sie nach dem Passwort gefragt werden.
keytool -exportcert -alias androiddebugkey -keystore "C: \ Users \ Anhsirk.android \ debug.keystore" | openssl sha1 -binary | openssl base64
HINWEIS : Beachten Sie im obigen Code, dass Sie dem Benutzer Ihren Pfad geben müssen (in meinem Fall ist es C: \ Users \ Anhsirk, Sie müssen dies nur für Ihr Benutzerkonto ändern.
. Wenn Sie nicht nach einem Kennwort gefragt werden, ist Ihr Schlüsselspeicherpfad falsch.
Wenn alles gut funktioniert, sollte es Ihnen den folgenden Hashkey geben.
quelle
Einfachste Möglichkeit, einen Hash-Schlüssel zu generieren.
Voraussetzung: SHA1-Schlüssel
Sie können den SHA1-Schlüssel auf zwei Arten aus Ihrer Keystore-Datei abrufen
1) Suchen Sie Ihre Keystore-Datei, öffnen Sie die Eingabeaufforderung an dieser Stelle und verwenden Sie den unten genannten Befehl
und geben Sie dann Ihr Passwort ein, dann werden die Schlüssel md5, sha1 und sha256 zurückgegeben.
ODER
2) Durch Ausführen von signingReport
Siehe Bild unten.
Nachdem Sie die Datei ausgeführt haben, wird Ihre Ausgabe mit dem erforderlichen sha1-Schlüssel generiert.
Nachdem Sie den erforderlichen SHA1-Schlüssel erhalten haben
Dann geh zu
http://tomeko.net/online_tools/hex_to_base64.php
und fügen Sie Ihren sha1-Schlüssel ein
und schließlich erhalten Sie Required HashKey, mit dem Sie sich auf Facebook bewerben können.
quelle
Der richtige Schlüssel kann von der App selbst abgerufen werden, indem der folgende Code hinzugefügt wird, um auf den richtigen Schlüssel-Hash zu rösten (ab Facebook SDK 3.0 funktioniert dies).
Ersetzen Sie com.package.mypackage durch Ihren Paketnamen
quelle
I. Erstellen Sie ein Key-Hash-Debug für Facebook
Fügen Sie Code hinzu, um den Schlüssel-Hash für Facebook auszudrucken
II. Erstellen Sie eine wichtige Hash-Version für Facebook
Laden Sie openssl-0.9.8e_X64 herunter
Erstellen Sie einen openssl-Ordner im Laufwerk C.
Extrahieren Sie Zip-Dateien in den openssl-Ordner
Start -> Ausführen: cmd (drücken Sie die Eingabetaste)
(drücken) cd C: \ Programme \ Java \ jdk1.6.0_45 \ bin. Hinweis: C: \ Programme \ Java \ jdk1.6.0_45 \ bin: ist der Pfad zum JDK-Ordner auf Ihrem Computer
(drücken) keytool -exportcert -alias gci -keystore D: \ folder \ keystorerelease | C: \ openssl \ bin \ openssl sha1 -binary | C: \ openssl \ bin \ openssl base64. Hinweis: D: \ folder \ keystorerelease: ist der Pfad zu Ihrer Keystorerelease
Keystore-Passwort eingeben: Dies ist das Passwort, wenn Ihr Register-Keystorer freigegeben wird.
Dann haben Sie einen Schlüssel-Hash: jDehABCDIQEDWAYz5Ow4sjsxLSw =
In Facebook anmelden. Zugriff auf Apps verwalten. Fügen Sie Schlüssel-Hash in Ihre App auf developer.facebook.com ein
quelle
EINFACHSTE LÖSUNG FÜR DIESES PROBLEM:
Ich habe dieses Problem jetzt seit zwei Monaten. Meine Schlüssel-Hashes waren bis zu 9 pyliert. Heute habe ich endlich die einfache Lösung gefunden:
SCHRITT 1:
Installieren Sie das Facebook SDK, das Sie von der Facebook-Entwicklerseite heruntergeladen haben, auf Ihrem Telefon. Installiere nicht die normale Facebook App. Stellen Sie sicher, dass Sie sich bei Facebook anmelden können. Dann melden Sie sich ab.
SCHRITT 2:
Exportieren Sie Ihre App mit Ihrem endgültigen Release-Schlüssel als Apk, wie Sie es beim Hochladen in den Playstore tun würden.
SCHRITT 3:
Legen Sie die Apk-Datei über ein USB-Kabel oder einen USB-Stick auf Ihr Telefon.
SCHRITT 4:
Installieren Sie Ihre App mithilfe eines Dateimanagers: Beispiel
SCHRITT 5:
Starten Sie Ihre App und versuchen Sie, sich mit Facebook anzumelden. Ein Dialogfeld wird geöffnet und zeigt an: "Der Schlüssel YOURHASHKEY wurde in der Facebook-Entwicklerkonsole nicht gefunden."
SCHRITT 6:
Schreiben Sie den Schlüssel auf.
SCHRITT 7:
Legen Sie es in Ihre Facebook-Entwicklerkonsole und speichern Sie es. Jetzt bist du fertig. Jeder, der Ihre App herunterlädt, die mit einem früher verwendeten Keystore veröffentlicht wurde, kann sich bei Facebook anmelden.
Genießen
quelle
Wenn Sie freigeben, verwenden Sie den Keystore, mit dem Sie Ihre App exportiert haben, und nicht den debug.keystore.
quelle
Das Passwort des Debug-Zertifikats lautet Android und nicht Android
quelle
Zu guter Letzt :)
Hier meine Geschichte:
Fügen Sie diesen Code Ihrer Hauptaktivität hinzu, nachdem Sie das Layout festgelegt haben.
Ändern Sie PROJECTNAME in Ihren Paketnamen!
quelle
Einzeilige Lösung für Facebook zu generieren
quelle
Um einen Release-Key-Hash zu generieren, müssen Sie einige einfache Schritte ausführen.
1) Laden Sie Openssl herunter
2) Erstellen Sie einen openssl-Ordner im Laufwerk C.
3) Extrahieren Sie Zip-Dateien in diesen in C Drive erstellten openssl-Ordner.
4) Kopieren Sie die Datei debug.keystore aus dem Ordner .android in meinem Fall (C: \ Users \ SYSTEM.android) und fügen Sie sie in den Fall JDK bin ein (C: \ Programme \ Java \ jdk1.6.0_05 \ bin).
5) Öffnen Sie die Eingabeaufforderung und geben Sie in meinem Fall den Pfad des JDK-Bin-Ordners an (C: \ Programme \ Java \ jdk1.7.0_40 \ bin).
6) Kopieren Sie den folgenden Code und drücken Sie die Eingabetaste
keytool -exportcert -alias abcd-keystore D: \ Projects \ MyAppFolder \ keystore.txt | C: \ openssl \ bin \ openssl sha1 - binär | C: \ openssl \ bin \ openssl base64 ex - keytool -exportcert -alias (Ihr Sing-Apk-Alias-Name wird hier eingegeben, so wie mein Zeichen-Apk-Alian-Name abcd lautet) "openssl bin Ordnerpfad hier eingeben" sha1 - binary | "openssl bin Ordnerpfad hier eingeben" base64
7) Jetzt müssen Sie das Passwort eingeben, Passwort = (geben Sie hier Ihr Passwort für den Signaturschlüsselspeicher ein)
8) Sie haben einen Keystore, der für die Freigabe des App-Schlüssel-Hash verwendet wird
quelle
Obwohl dieser Thread alt ist, möchte ich meine Erfahrungen (die kürzlich mit Facebook begonnen haben) teilen, was mir klar erscheint:
Verwenden Sie den folgenden Befehl über die Befehlszeile in Windows, um den Entwicklungsschlüssel für die Facebook-Integration abzurufen:
keytool -exportcert -alias androiddebugkey -keystore% HOMEPATH% .android \ debug.keystore | "C: \ openssl \ bin \ openssl.exe" sha1 -binary | "C: \ openssl \ bin \ openssl.exe" base64
Geben Sie wie oben gezeigt Android als Passwort ein.
Das ist es! Sie erhalten einen 28 Zeichen langen Schlüssel. Prost!
Gehen Sie genauso vor, um den Release-Schlüssel zu erhalten. Ersetzen Sie einfach den Befehl durch den folgenden und verwenden Sie Ihren Release-Schlüssel-Alias.
keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | "PATH FOR openssl.exe" sha1 -binary | openssl base64
quelle
Debug-Hash-Schlüssel generieren
Release-Hash-Schlüssel generieren
quelle
Toller Blogbeitrag zu diesem Thema
Extrahieren des Schlüssel-Hash aus dem .p12-Schlüssel
Toller und einfacher Hexadezimal-Editor für Mac: HexFiend
OpenSSL sollte auf dem Mac vorinstalliert sein. Hier ist der Link für die Windows-Version.
Verknüpfung
quelle
AppEntry
Übergeben Sie das Kennwort für den Schlüssel und speichern Sie es als Teil des Befehls
quelle
Ich konnte die angeforderte Aufgabe mit einigen der hier aufgeführten Lösungen ausführen, dachte mir aber, Junge, das ist dumm ... warum nicht einen kleinen Java-Code schreiben, der dies tut, und ihn in ein Glas packen, also tat ich es. ..
Ein Link zum Herunterladen des Glases
Funktioniert unter Windows 8 ... hat kein anderes Betriebssystem ausprobiert.
quelle
Hallo allerseits, meine Geschichte, wie ich unterschrieben werde, hat einen Schlüssel für Facebook
Zunächst müssen Sie diese beiden Methoden in Ihre erste Klasse kopieren
** Rufen Sie die Funktion getAppKeyHash () von Ihrer oncreate-Methode auf, wenn Sie einen signierten Hash möchten, und führen Sie dann einen signierten Build aus. Installieren Sie einen signierten Build und führen Sie ihn aus signierte APK **
quelle
Wenn dein Passwort = Android falsch ist, dann lege dein PC-Passwort darauf, dass es für mich funktioniert.
Und um keyHash zu generieren, versuchen Sie diesen Link hier
quelle
Das einzige, was für mich funktioniert, ist die Verwendung des Passworts
android
. Warum wird das in keinem Leitfaden erwähnt?quelle
Verwenden Sie dies in Kotlin für den Druckschlüssel-Hash im Protokoll
quelle