Ich verstehe diesen Prozess überhaupt nicht. Ich konnte zu dem Ordner navigieren, der das Keytool im Java SDK enthält. Obwohl ich immer wieder den Fehler bekomme, wird openssl nicht als interner oder externer Befehl erkannt. Das Problem ist, selbst wenn ich das zum Laufen bringen kann, was würde ich tun und womit danach?
179
Antworten:
Folgendes müssen Sie tun:
Laden Sie openSSl von Code Extract it herunter . Erstellen Sie einen Ordner - OpenSSL in C: / und kopieren Sie den extrahierten Code hier.
Erkennen des Dateipfads debug.keystore. Wenn Sie nicht gefunden haben, führen Sie eine Suche in C: / durch und verwenden Sie im nächsten Schritt den Pfad im Befehl.
Ermitteln Sie den Pfad keytool.exe, gehen Sie zu dieser dir / in-Eingabeaufforderung und führen Sie diesen Befehl in einer Zeile aus.
es wird nach dem Passwort fragen, Android setzen, das ist alles. Du wirst einen Key-Hash bekommen
quelle
android
.Für Linux und Mac
Terminal öffnen:
Für Debug Build
Sie finden debug.keystore im Ordner ".android". Kopieren Sie es und fügen Sie es auf dem Desktop ein. Führen Sie den obigen Befehl aus.
Zur Veröffentlichung Build
HINWEIS: Stellen Sie sicher, dass in beiden Fällen ein Kennwort abgefragt wird. Wenn Sie nicht nach einem Kennwort gefragt werden, bedeutet dies, dass im Befehl etwas nicht stimmt. Das Passwort für debug.keystore lautet " android " und für die Freigabe müssen Sie das Passwort eingeben, das Sie beim Erstellen des Keystores festgelegt haben .
quelle
keytool -exportcert -alias <aliasName> -keystore <keystoreFilePath>
alleine, um zu sehen, ob alles in Ordnung ist. Wenn sich das Keytool weiterleitet, befindet es sich im nicht interaktiven Modus und zeigt das Kennwort bei der Eingabe im Klartext an. Schreiben Sie also besser ein kleines Skript, das die Befehle separat ausführt.Bitte versuchen Sie dies:
quelle
OpenSSL: Sie müssen das installieren, wenn es nicht mit Ihrem Betriebssystem vorinstalliert ist (z. B. Windows hat es nicht vorinstalliert). . Wie das installiert wird, hängt von Ihrem Betriebssystem ab (für Windows überprüfen Sie den Link von coder_For_Life22).
Der einfachste Weg, ohne herumzuspielen, ist das Kopieren der Binärdatei openssl.exe in Ihren Keytool-Pfad, wenn Sie unter Windows arbeiten. Wenn Sie das nicht möchten, müssen Sie es Ihrem hinzufügen
PATH
Umgebungsvariablen . Führen Sie dann den in den Dokumenten angegebenen Befehl aus.Beachten Sie, dass das Argument nach
-keystore
auf Ihren Debug-Keystore verweist. Dieser Speicherort hängt auch von Ihrem Betriebssystem ab. Sollte sich an einem der folgenden Orte befinden:Wenn Sie alles richtig gemacht haben, sollten Sie zur Eingabe eines Passworts aufgefordert werden. Das ist
android
für das Debug-Zertifikat. Wenn das Passwort korrekt ist, gibt die Konsole einen Hash aus (etwas zufällige Zeichen und Zahlen).Nehmen Sie das und kopieren Sie es in das
android key hash
Feld innerhalb der Einstellungen Ihrer App auf Facebook. Um dorthin zu gelangen, gehen Sie zu developer.facebook.com/apps , wählen Sie Ihre App aus, gehen Sie zuEdit settings
und scrollen Sie nach unten. Warten Sie danach einige Minuten, bis die Änderungen wirksam werden.quelle
Um Ihren Schlüssel-Hash auf Ihrem lokalen Computer zu generieren, führen Sie das Java-Dienstprogramm keytool (das sich auf dem Pfad Ihrer Konsole befinden sollte) für den Android-Debug-Keystore aus. Dies befindet sich standardmäßig in Ihrem Home-Android-Verzeichnis. Führen Sie unter OS X Folgendes aus:
Verwenden Sie unter Windows: -
hoffe das wird dir helfen
Ref - Entwickler Facebook Seite
quelle
Hier finden Sie alle Details (für Windows)
1. Laden Sie OpenSSl entweder als 3. oder 4. herunter (mit e funktioniert es besser), basierend auf Ihrem 32-Bit- oder 64-Bit-System.
2. Extrahieren Sie die heruntergeladene Zip-Datei im C-Verzeichnis
3. Öffnen Sie den extrahierten Ordner bis bin und kopieren Sie den Pfad. Es sollte ungefähr so aussehen
C:\openssl-0.9.8k_X64\bin\openssl
(add \ openssl am Ende).4. (Holen Sie sich den Pfad zum bin-Ordner von Jdk, wenn Sie wissen, wie, ignorieren Sie dies).
Öffnen Sie Android Studio ~ Datei ~ Projektstruktur (Strg + Alt + Umschalt + s), wählen Sie den SDK-Speicherort im linken Seitenbereich aus, kopieren Sie den JDK-Speicherort und fügen Sie / bin hinzu
Der endgültige JDK-Standort wird also so sein
C:\Program Files\Android\Android Studio\jre\bin
Wir folgen dieser Methode, um den JDK-Speicherort zu ermitteln, da Sie möglicherweise eingebettetes JDK wie mich verwenden
Jetzt haben Sie OpenSSl-Speicherort und JDK-Speicherort
5. Jetzt brauchen wir den Speicherort des Debug-Keystores. Für diesen geöffneten C ~> Benutzer ~> YourUserName ~> .android sollte es einen Dateinamen debug.keystore geben. Kopieren Sie jetzt den Pfad des Pfads. Es sollte so etwas wie sein
C:\Users\Redman\.android\debug.keystore
6. Öffnen Sie nun die Eingabeaufforderung und geben Sie den Befehl ein
in meinem Fall
7. Erstellen Sie nun den folgenden Befehl
In meinem Fall sieht der Befehl so aus
Geben Sie nun diesen Befehl in die Eingabeaufforderung ein. Wenn Sie jemals etwas richtig gemacht haben, werden Sie nach dem Passwort gefragt (Passwort ist Android).
Das ist es, Sie erhalten den Key Hash, kopieren Sie ihn einfach und verwenden Sie ihn
Erstellen Sie für Signed KeyHash den folgenden Befehl
Geben Sie Ihr Keystore-Passwort ein. Wenn Sie ein falsches Passwort eingeben, wird ein falscher KeyHash ausgegeben
HINWEIS
Wenn aus irgendeinem Grund ein Fehler in einem Pfad auftritt, schließen Sie diesen Pfad in doppelte Anführungszeichen. Auch die Windows-Power-Shell funktionierte bei mir nicht gut. Ich habe git bash verwendet (oder die Eingabeaufforderung verwendet).
Beispiel
quelle
Sie können einfach einzeiliges Javascript in der Browserkonsole verwenden, um einen Hex-Map-Schlüssel in base64 zu konvertieren. Konsole öffnet in neuestem Browser (F12 auf Windows) und fügen Sie den Code und ersetzen Sie das
SHA-1
,SHA-256
Sechseckraster , dass Google Play bietet unterRelease Managment
>App signing
:quelle
Es gibt auch eine kurze Lösung. Führen Sie dies einfach in Ihrer App aus:
Ein längeres, das kein FB SDK benötigt (basierend auf einer Lösung hier ):
Das Ergebnis sollte mit "=" enden.
quelle
-AAAAAAAA_AAAAAA-AAAAAAAAAA
von Facebook nicht erlaubt ist. PrintHashKey hat den Schlüssel in einem gültigen Format zurückgegeben+AAAAAAAA/AAAAAA+AAAAAAAAAA=
Für Windows:
Passwort eingeben: android -> Drücken Sie die Eingabetaste
Generierten Hash-Schlüssel kopieren -> Facebook mit Ihrem Entwicklerkonto anmelden
Gehen Sie zu Ihrer Facebook-App -> Einstellungen -> Hash-Schlüssel in die Option "Schlüssel-Hashes" einfügen -> Änderungen speichern.
Testen Sie jetzt Ihre Android-App mit Facebook Login / Share etc.
quelle
Seit API 26 können Sie Ihre HASH KEYS mit dem folgenden Code in KOTLIN generieren, ohne dass Sie ein Facebook SDK benötigen.
quelle
class MainActivity: FlutterActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) GeneratedPluginRegistrant.registerWith(this) } }
So erhielt ich meine:
Wenn Sie also versuchen, ohne Schlüssel einzugeben, tritt eine Ausnahme auf. Facebook hat die RECHTE Taste in diese Ausnahme eingefügt. Alles was Sie tun müssen, ist es zu kopieren.
quelle
Wenn Sie die App bereits in den Play Store hochgeladen haben, können Sie den Hash-Schlüssel wie folgt generieren:
1) Gehen Sie zu Release Management hier
2) Wählen Sie Release Management -> App Signing
3) Sie können den SHA1-Schlüssel im Hex-Format sehen. App-Signaturzertifikat.
4) Kopieren Sie den SHA1 im Hex-Format und konvertieren Sie ihn in das Base64-Format. Sie können dies verwenden Link können Sie dies ohne den SHA1: -Teil des Hex tun.
5) Gehen Sie zur Facebook-Entwicklerkonsole und fügen Sie den Schlüssel (nach der Konvertierung in Basis 64) in den Einstellungen -> Basis -> Schlüssel-Hashes hinzu.
quelle
Zum einfachen vedio Tutorial Link zum Generieren von KeyHash hier
Laden Sie openssl von HIER herunter
quelle
Laden Sie open ssl herunter :
Fügen Sie dann openssl \ bin zu den Pfadsystemvariablen hinzu:
Arbeitsplatz -> Eigenschaften -> Erweiterte Konfigurationen -> Erweitert -> Systemvariablen -> Suchen Sie unter Systemvariablen den Pfad und fügen Sie diesen zu seinen Endungen hinzu :; yourFullOpenSSLDir \ bin
Öffnen Sie nun eine Befehlszeile in Ihrem Ordner jdk \ bin C: \ Programme \ Java \ jdk1.8.0_40 \ bin (unter Windows halten Sie die Umschalttaste gedrückt und klicken Sie mit der rechten Maustaste -> öffnen Sie die Befehlszeile hier) und verwenden Sie:
Und kopieren Sie die 28-Längen-Nummer, die nach Eingabe des Passworts generiert wird.
quelle
Führen Sie entweder Folgendes in Ihrer App aus:
Oder dieses:
Und dann schauen Sie sich die Protokolle an.
Das Ergebnis sollte mit "=" enden.
Die Lösung basiert auf hier und hier .
quelle
EASY WAY -> Installiere nicht openssl -> USE GIT BASH!
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
Das Standardkennwort lautet "android"
Die meisten von uns haben Git Bash installiert, also ist dies mein Lieblingsweg.
quelle
Dies wird auch Neulingen helfen.
Fügen Sie einfach weitere Details zur Antwort von @ coder_For_Life22 hinzu.
Wenn diese Antwort Ihnen hilft, vergessen Sie nicht, Ihre Meinung zu verbessern. es motiviert uns.
Dazu müssen Sie den Pfad der Keystore-Datei und das Kennwort der App
für dieses Beispiel bereits kennen. Beachten Sie, dass der Schlüssel unter "c: \ keystorekey \ new.jks" gespeichert ist.
1. Öffnen Sie diese Seite unter https://code.google.com/archive / p / openssl-for-windows / downloads
2. Laden Sie die 32- oder 64-Bit-Zip-Datei gemäß Ihrem Windows-Betriebssystem herunter.
3. Extrahieren Sie die heruntergeladene Datei, wo immer Sie möchten, und merken Sie sich den Pfad.
4. In diesem Beispiel wird davon ausgegangen, dass Sie den Ordner im Download-Ordner extrahiert haben.
Die Dateiadresse lautet also "C: \ Benutzer \ 0 \ Downloads \ openssl-0.9.8e_X64 \ bin \ openssl.exe".
5. Drücken Sie jetzt auf der Tastatur die Windows + r-Taste.
6. Dadurch wird die Runbox geöffnet.
7. Geben Sie cmd ein und drücken Sie Strg + Umschalt + Eingabetaste .
8. Dadurch wird die Eingabeaufforderung als Administrator geöffnet.
9. Navigieren Sie hier zum Ordner bin von Java:
Wenn Sie jre verwenden, das von Android Studio bereitgestellt wird, finden Sie den Pfad wie folgt:
a. Android Studio öffnen.
b. Datei-> Projektstruktur
c. Klicken Sie im linken Bereich auf "SDK-Speicherort".
d. Im rechten Bereich unter "JDK-Speicherort" befindet sich Ihr JRE-Pfad.
e. Fügen Sie am Ende dieses Pfads "\ bin" hinzu, da sich die benötigte Datei "keytool.exe" in diesem Ordner befindet.
Für dieses Beispiel betrachte ich:
"C: \ Programme \ Java \ jre-10.0.2 \ bin" ,
wenn Sie 32 - Bit - Java installiert es in sein wird
"C: \ Program Files (x86) \ Java \ jre-10.0.2 \ bin"
10. jetzt Mit den obigen Pfaden führen Sie den Befehl wie folgt aus:
!!!!!! Dies gibt Ihnen den Schlüssel
Fehler: Wenn Sie Folgendes erhalten:
---
'keytool' wird nicht als interner oder externer Befehl erkannt
---
Dies bedeutet, dass Java an einer anderen Stelle installiert ist.
quelle
Schritt 1-> C: \ Programme \ Java \ jdk1.6.0_43 \ bin>
Schritt 2-> keytool -list -v -keystore C: \ Benutzer \ leon \ .android \ debug.keystore -alias androiddebugkey -storepass android -keypass android
Sie haben einen SHA1- Wert. Klicken Sie auf diesen Link. Sie konvertieren Ihren SHA1-Wert in HASH KEY
Ich bin 100% sicher, dass dieser Link Ihnen helfen wird
quelle
Einfacher Weg
Wenn Sie diese Website verwenden , können Sie den Hash-Schlüssel erhalten, indem Sie den SHA1-Schlüssel in den Hash-Schlüssel für Facebook konvertieren.
quelle
Sie können alle Ihre Fingerabdrücke von https://console.developers.google.com/projectselector/apis/credentials
abrufen und diesen Kotlin-Code verwenden, um ihn in Keyhash zu konvertieren:
quelle
https://developers.facebook.com/docs/android/getting-started/
4.19.0 - 25. Januar 2017
Facebook SDK
Geändert
Das Facebook SDK wird jetzt automatisch initialisiert, wenn die Anwendung gestartet wird. In den meisten Fällen ist ein manueller Aufruf von FacebookSDK.sdkInitialize () nicht mehr erforderlich. Weitere Informationen finden Sie im Upgrade-Handbuch .
Für das Debuggen
quelle
Gerade diesen Code ausführen in Ihrem OnCreateView Oder OnStart actvity und diese Funktion Return Sie Development Key Hash .
quelle
Ich hatte genau das gleiche Problem, ich wurde nicht nach einem Passwort gefragt, und es scheint, dass ich den falschen Pfad für die Keystore-Datei hatte.
Wenn das Keytool den von Ihnen festgelegten Schlüsselspeicher nicht findet, erstellt es einen und gibt Ihnen den falschen Schlüssel, da es nicht den richtigen verwendet.
Die allgemeine Regel lautet: Wenn Sie nicht nach einem Kennwort gefragt werden, wird der falsche Schlüssel generiert.
quelle
Sie können diese apk verwenden
quelle
Versuchen Sie diese Antwort
https://stackoverflow.com/a/54513168/9236994
mit minimalem Aufwand hilft, das Problem zu lösen.
quelle
keytool -exportcert -alias androiddebugkey -keystore "C: \ Benutzer ** Deepak **. android \ debug.keystore" | " C: \ Users \ Deepak \ ssl \ bin \ openssl" sha1 -binary | " C: \ Users \ Deepak \ ssl \ bin \ openssl" base64
2 Änderungen in diesem obigen Befehl 1.Deepak === Durch Ihr System ersetzen USERNAME 2.C: \ Users \ Deepak \ ssl === Replizieren Sie Ihren Open SSL-Pfad
Führen Sie diesen Befehl aus und erhalten Sie die Ausgabe wie folgt
C: \ Users \ Deepak> keytool -exportcert -alias androiddebugkey -keystore "C: \ Users \ D eepak.android \ debug.keystore" | "C: \ Users \ Deepak \ ssl \ bin \ openssl" sha1 -binary | "C: \ Users \ Deepak \ ssl \ bin \ openssl" base64 Geben Sie das Keystore-Passwort ein: ****** ga0RGNY ****************** =
quelle
Wenn jemand ein Problem mit openssl hat, befolgen Sie diese Anweisungen:
Das ist es
https://sourceforge.net/projects/openssl/files/latest/download
quelle