Ich lese bei einer -Entwicklung von Facebook Entwickler hier
Es heißt, dass ich Keytool verwenden muss, um die Signatur für meine App zu exportieren, wie zum Beispiel:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
Ich weiß nicht, wie ich das Keytool finden soll, um es auszuführen. Ich habe versucht, eine Windows-Eingabeaufforderung zu öffnen und den obigen Befehl einzufügen, aber es hat nicht funktioniert.
/usr/local/java/bin# ./keytool
wenn Sie Windowsfind the JDK install path and check bin folder
Antworten:
Ich habe selbst eine Lösung gefunden, wie im folgenden Zitat. Es funktioniert gut.
quelle
Geben Sie diese einfach in die Windows-Eingabeaufforderung ein.
Das Basiskennwort lautet
android
Sie werden mit der präsentiert werden
MD5
,SHA1
undSHA256
Tasten; Wählen Sie die gewünschte aus.quelle
keytool error: java.lang.Exception: Only one command is allowed: both -exportcert and -list were specified.
Befolgen Sie diese Schritte, um den Hash-Code für den Android-Schlüssel zu erhalten (für Facebook-Apps).
cd C:\Program Files\Java\jdk1.6.0_26\bin
keytool -export -alias myAlias -keystore C:\Users\<your user name>\.android\myKeyStore | C:\openssl-0.9.8k_WIN32\bin\openssl sha1 -binary | C:\openssl-0.9.8k_WIN32\bin\openssl enc -a -e
Führen Sie die folgenden Schritte aus, um den MD5-Code (Certificate Fingerprint) abzurufen
jarsigner.exe
Datei im Ordner bin auscd C:\Program Files\Java\jdk1.6.0_26\bin
keytool -list -keystore "C:/Documents and Settings/<your user name>/.android/debug.keystore"
android
", geben Sie ein und geben Sie einquelle
Keytool ist Teil des JDK.
Versuchen Sie,
%{JAVA_HOME}\
der exec-Anweisung oder voranzustellenc:\{path to jdk}\bin
.quelle
"%JAVA_HOME%\bin\keytool" -import -keystore truststore -file certificate.cer -alias my-alias
Das KeyTool ist Teil des JDK. Sie finden es unter der Annahme, dass Sie das JDK mit den Standardeinstellungen installiert haben
$JAVA_HOME/bin
quelle
Robby Pond
Die Antwort kann verallgemeinert werden, umJAVA_HOME
Umgebungsvariablen zu verwenden und um eventuell im Pfad auftretende Leerzeichen (wieProgram Files
) zu kompensieren :quelle
keytool ist Teil von jdk, es sollte $ JAVA_HOME / bin / keytool sein
quelle
Keytool ist Teil des Java SDK. Sie sollten es in Ihrem Java SDK-Verzeichnis finden können, z. B. C: \ Programme \ Java \ jdk1.6.0_14 \ bin
quelle
Im cmd-Fenster (muss als Administrator ausgeführt werden)
funktioniert nur, wenn Sie Ihre Systemumgebungsvariable JAVA_HOME eingerichtet haben. Sie können dies tun, um Ihre Systemvariable für Ihren Pfad einzurichten
Dann können Sie eingeben
oder
Führen Sie dann alle von JAVA jdk bereitgestellten Befehle aus, z
Sie müssen nur die Fragen beantworten (entspricht der Eingabe der Werte in der cmd-Zeile), nachdem Sie die Eingabetaste gedrückt haben! Der Schlüssel würde generiert
quelle
Das Keytool befindet sich im Verzeichnis JDK bin ($ JAVA_HOME / bin). JAVA_HOME ist Ihr JDK-Installationsverzeichnis. Um diese Befehlszeile zu verwenden, sollten Sie auch $ JAVA_HOME / bin in Ihre PATH-Umgebungsvariable aufnehmen.
quelle
Android: Wo kann man den Befehl keytool in Android ausführen?
Der Befehl Keytool kann an Ihrer Eingabeaufforderung dos ausgeführt werden, wenn in Ihrer Klassenpfadvariablen JRE festgelegt wurde.
Wenn Sie beispielsweise den MD5-Fingerabdruck des SDK-Debug-Zertifikats für Android erhalten möchten,
Führen Sie einfach den folgenden Befehl aus ...
Wo
C:\Documents and Settings\user\.android>
ist der Pfad, der dendebug.keystore
zu zertifizierenden Pfad enthält ?Ausführliche Informationen finden Sie unter http://code.google.com/android/add-ons/google-apis/mapkey.html#getdebugfingerprint
quelle
Abhängig von Ihrer Version von Eclipse (ich verwende Kepler). Gehen Sie zu Windows> Einstellungen> Android> Erstellen.
Sie finden den Speicherort Ihres Debug-Keystores sowie den SHA1-Fingerabdruck (den Sie einfach kopieren und verwenden können).
quelle
Ich fand dies in einem anderen Beitrag, der nicht viele positive Stimmen erhielt, aber es war super hilfreich für mich. Also werde ich es hier hinzufügen.
Android Studio bringt ein Keytool mit.
C:\Program Files\Android\Android Studio\jre\bin
Sie können seinen Beitrag unten von Richar Heap mit einer hilfreichen Referenz sehen. Ich habe das schon mal gesehen, aber vergessen. https://stackoverflow.com/a/51524526/4446406
quelle
KEYTOOL befindet sich im JAVAC SDK. Sie müssen es also in dem Verzeichnis finden, das javac enthält
quelle
Wenn Sie Visual Studio mit Xamarin / Mobile-Entwicklungsunterstützung installiert haben, wird hier eine Java-Installation durchgeführt
C:\Program Files\Android\jdk\microsoft_dist_openjdk_{version}\bin\
, wird wie in meinem Fall .quelle
keytool
kommt mit dem JDK. Wenn Sie Cygwin verwenden, ist dies wahrscheinlich bereits auf Ihrem Weg. Andernfalls könnten Sie im bin-Ordner Ihres JDK herumgraben.Sie müssen wahrscheinlich sowieso Cygwin verwenden, damit die Shell Pipes (
|
) funktionieren.quelle
Einige Beobachtungen, während ich das gleiche Problem bekam (Windows). 1. Shell Rohr ist wichtig. 2. Wenn Sie OpenSSL oder Cygwin verwenden, müssen Sie es auf jeden Fall installieren. 3. keytool wird mit JDK geliefert, sodass Sie entweder im Befehl darauf verweisen müssen oder eine CD in den Ordner JDK / bin (in dem sich die exe befindet) haben. 4. Der Debug-Keystore befindet sich normalerweise unter ~ / .android / debug.keystore 5. Das Passwort lautet "android", unabhängig davon, ob Sie es umgehen oder eingeben, wenn Sie dazu aufgefordert werden. 6. Für den Aliasnamen können Sie die Keystore-Datei mit einem beliebigen Editor öffnen (NICHT SPEICHERN, nur öffnen und schließen) und lesen. 7. WICHTIGSTES - Es gibt einen Unterschied darin, den Schlüsselspeicherpfad innerhalb und außerhalb von Anführungszeichen anzugeben. Ich habe es funktioniert, indem ich den Schlüsselspeicherpfad in doppelten Anführungszeichen verwendet habe. Wie remix090378 sagte und wie am Anweisunghat dieser Befehl tatsächlich funktioniert - cd C: \ Programme \ Java \ jdk1.7.0_09 \ bin
keytool -exportcert -alias androiddebugkey -keystore "C: \ Users \ userName.android \ debug.keystore" -list -v
quelle
In meinem Fall hatte ich bereits eine APK-Datei mit dem Befehl generiert
ionic cordova build android --prod
und musste den SHA-1-Fingerabdruck für die bereits vorhandene APK-Datei abrufen. So habe ich es erhalten, indem ich den folgenden Befehl im App-Verzeichnis ausgeführt habe:keytool -list -printcert -jarfile app-debug.apk
Also habe ich den obigen Befehl im Grunde genommen am folgenden App-Speicherort ausgeführt:
C:\myApp\platforms\android\app\build\outputs\apk\debug>keytool -list -printcert -jarfile app-debug.apk
Dies gab mir den SHA1-Fingerabdruck als:
7B:6B:AD:...
Hoffe das hilft jemandem!
quelle
Da Sie Java und vorzugsweise ein JDK in Ihrem System installiert haben (Antwort für Windows, weil Sie es in Ihrer Frage erwähnt haben), sollten Sie das Dienstprogramm keytool im
bin
Ordner Ihrer Installation haben .Wenn dies der Fall ist, können Sie als Nächstes diesen bin-Ordner zur
PATH
Umgebungsvariablen hinzufügen Ihrer Windows-Installation .Wenn Sie das nächste Mal eine Windows-Shell öffnen und eingeben, können
keytool
Sie das eigentliche Dienstprogramm ausführen.quelle