Ich kann das Android-Keytool nicht finden

265

Ich versuche, dem Android-Mapping-Tutorial zu folgen und bin zu diesem Teil gekommen, wo ich einen API-Schlüssel erhalten musste .

Ich habe meine gefunden, debug.keystoreaber es scheint keine keytoolAnwendung im Verzeichnis zu geben:

C:\Documents and Settings\tward\\.android>ls
adb_usb.ini      avd       debug.keystore  repositories.cfg androidtool.cfg  ddms.cfg  default.keyset

Es gibt auch keine keytoolin diesem Verzeichnis:

C:\Android\android-sdk-windows\tools>ls
AdbWinApi.dll     apkbuilder.bat       etc1tool.exe         mksdcard.exe
AdbWinUsbApi.dll  ddms.bat             fastboot.exe         source.properties
Jet               dmtracedump.exe      hierarchyviewer.bat  sqlite3.exe
NOTICE.txt        draw9patch.bat       hprof-conv.exe       traceview.bat
adb.exe           emulator.exe         layoutopt.bat        zipalign.exe
android.bat       emulator_NOTICE.txt  lib

Ich verwende Eclipse als Editor und glaube, dass ich das neueste SDK heruntergeladen habe.

Was mache ich falsch?

Tim
quelle
12
Toll. Ich habe meine zweite Frage gestellt und bekomme ein "Tumbleweed" für mein erstes Abzeichen !!! Bitte verspotten Sie mich sanft :-)
Tim
Super, hast du einen Weg gefunden, SHA1 unter Windows
freizugeben

Antworten:

441

keytoolkommt mit dem Java SDK. Sie sollten es in dem Verzeichnis finden javac, das usw. enthält .

CommonsWare
quelle
153
Verstanden: C: \ Programme \ Java \ jdk1.6.0_14 \ bin Danke
Tim
5
kann es sogar in der JRE finden ... Danke
Nick.T
4
Ein nützlicher Trick besteht darin, die Ausgabe in einer Datei zu speichern, damit Sie den Schlüssel abrufen können. Fügen Sie dies einfach am Ende hinzu:> somefilename.txt
Attaque
3
In C: \ Programme \ Java \ jdk1.7.0_79 \ bin
Jean-François
18
Meins war in C:\Program Files\Android\Android Studio\jre\bin(Using Studio, nicht Eclipse)
Tim Krins
99

Okay, dieser Beitrag stammt von vor sechs Monaten, aber ich dachte, ich würde hier einige Informationen für Leute hinzufügen, die über das gesamte Geschäft mit API-Schlüsseln / MD5-Fingerabdrücken verwirrt sind. Ich habe eine Weile gebraucht, um das herauszufinden, also gehe ich davon aus, dass andere auch Probleme damit hatten (es sei denn, ich bin nur so langweilig).

Diese Anweisungen gelten für Windows XP, aber ich stelle mir vor, dass sie für andere Windows-Versionen ähnlich sind. Es scheint, dass Mac- und Linux-Benutzer dies leichter haben, sodass ich sie nicht ansprechen werde.

Um Mapviews in Ihren Android-Apps verwenden zu können, möchte Google bei ihnen einchecken, damit Sie eine Nutzungsbedingungen für Android Maps APIs abzeichnen können. Ich denke, sie wollen nicht, dass Sie Turn-by-Turn-GPS-Apps erstellen, um mit ihren oder so etwas zu konkurrieren. Ich habe es nicht wirklich gelesen. Hoppla.

Gehen Sie also zu http://code.google.com/android/maps-api-signup.html und probieren Sie es aus. Sie möchten, dass Sie das Kontrollkästchen "Ich habe die Allgemeinen Geschäftsbedingungen gelesen und bin damit einverstanden" aktivieren und den MD5-Fingerabdruck Ihres Zertifikats eingeben. Wtf ist das, könnte man sagen. Ich weiß es nicht, aber mach einfach was ich sage und deine Android App wird nicht verletzt.

Gehen Sie zu Start> Ausführen und geben Sie cmd ein, um eine Eingabeaufforderung zu öffnen. Sie müssen zu dem Verzeichnis mit der Datei keytool.exe navigieren, die sich je nach installierter JDK-Version möglicherweise an einer etwas anderen Stelle befindet. Meins ist in, C:\Program Files\Java\jdk1.6.0_21\binaber versuchen Sie, zum Java-Ordner zu navigieren und zu sehen, welche Version Sie haben, und ändern Sie den Pfad entsprechend.

Geben Sie nach der Navigation zu C: \ Programme \ Java \ <"Ihre JDK-Version hier"> \ bin in der Eingabeaufforderung ein

keytool -list -keystore "C:/Documents and Settings/<"your user name here">/.android/debug.keystore"

mit den Anführungszeichen. Natürlich wäre <"Ihr Benutzername hier"> Ihr eigener Windows-Benutzername.

(Wenn Sie Probleme haben, diesen Pfad zu finden, und Eclipse verwenden, können Sie Fenster> Einstellungen> Android> Erstellen überprüfen und den "Standard-Debug-Keystore" überprüfen.)

Drücken Sie die Eingabetaste und Sie werden zur Eingabe eines Passworts aufgefordert. Drücken Sie einfach die Eingabetaste. Und voila, unten ist Ihr MD5-Fingerabdruck. Geben Sie Ihren Fingerabdruck in das Textfeld auf der Android Maps API-Anmeldeseite ein und klicken Sie auf API-Schlüssel generieren.

Und es gibt Ihren Schlüssel in seiner ganzen Pracht, mit einem praktischen XML-Beispiellayout, in das Ihr Schlüssel zum Kopieren und Einfügen eingegeben wurde.

Fehlfunktion
quelle
Sie haben mir ein oder zwei Kopfschmerzen
erspart
Sollten dies unter Windows nicht Backslashes statt Forward Slashes sein?
Ryan R
Zu Ihrer Information, wenn Sie jdk1.7 verwenden, fügen Sie den Modifikator hinzu-v
Ryan R
Mehr Leute sollten wie Sie erklären!
K - Die Toxizität in SO nimmt zu.
@malfunction, gibt es eine Möglichkeit, SHA1 für Release Build auf Windows zu bekommen
Pankaj Nimgade
17

Ok, ich habe das in Windows 7 32-Bit-System gemacht.

Schritt 1 : Gehen Sie zu - C: \ Programme \ Java \ jdk1.6.0_26 \ bin - und führen Sie zuerst jarsigner.exe aus (Doppelklick).

Schritt 2 : Suchen Sie debug.keystore, in meinem Fall war es - C: \ Users \ MyPcName \ .android

Schritt 3 : Öffnen Sie die Eingabeaufforderung und gehen Sie zu dir - C: \ Programme \ Java \ jdk1.6.0_26 \ bin und geben Sie den folgenden Befehl ein: keytool -list -keystore "C: \ Users \ MyPcName \ .android \ debug.keystore"

Schritt 4 : Es wird jetzt nach dem Keystore-Passwort gefragt. (was ich herausfinde ...: -?)

Update: OK in meinem Fall Passwort war ´ android ´. - (Ich verwende Eclipse für Android, daher habe ich es hier gefunden.) Befolgen Sie die Schritte in Eclipse : Windows> Einstellungen > Android> Build> ..
( Siehe Feld "Standard-Debug-Keystore" .)



Befehl zum Ändern des Keystore-Passworts (siehe hier): Keystore-Passwort ändern



rav
quelle
10

Die obige 4-Schritt-Antwort hat bei mir funktioniert, gibt aber den SH1-Schlüssel zurück ... aber Google fragt nach dem MD5-Schlüssel, um Ihren API-Schlüssel zu generieren.

Man muss einfach ein '-v' in den Befehl in Schritt 3 einfügen.

Aktualisierte 4-Schritt-Antwort

Ok, ich habe das in Windows 7 32-Bit-System gemacht.

Schritt 1 : Gehen Sie zu - C: \ Programme \ Java \ jdk1.7.0 \ bin - und führen Sie zuerst jarsigner.exe aus (Doppelklick).

Schritt 2 : Suchen Sie debug.keystore (in Eclipse: Windows / Preferences / Android / build ..). In meinem Fall war dies - C: \ Users \ MyPcName.android

Schritt 3 : Öffnen Sie die Eingabeaufforderung, gehen Sie zu Verzeichnis C: \ Programme \ Java \ jdk1.7.0 \ bin und geben Sie den folgenden Befehl ein: keytool -v -list -keystore "C: \ Users \ MyPcName.android \ debug.keystore"

Schritt 4 : Es wird jetzt nach dem Keystore-Passwort gefragt. Der Standardwert ist "Android"

fmak114
quelle
6

Ich habe Java nie installiert, aber wenn Sie Android Studio installieren, hat es eine eigene Version im Android-Verzeichnis. Hier befindet sich meine. Ihr Weg kann ähnlich sein. Danach können Sie das Keytool entweder in Ihren Pfad einfügen oder es einfach von diesem Verzeichnis aus ausführen.

C:\Program Files\Android\Android Studio\jre\bin
Goddard
quelle
2

Dies schien weitaus schwieriger zu finden, als es für OSX sein muss. Zu viele widersprüchliche Beiträge

Führen Sie für MAC OSX Mavericks Java JDK 7 die folgenden Schritte aus, um Folgendes zu suchen keytool:

Stellen Sie zunächst sicher, dass Sie Folgendes installieren Java JDK:

http://docs.oracle.com/javase/7/docs/webnotes/install/mac/mac-jdk.html

Geben Sie dies dann in die Eingabeaufforderung ein:

/usr/libexec/java_home -v 1.7

es wird so etwas ausspucken wie:

/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home

keytoolbefindet sich im selben Verzeichnis wie javac. dh:

/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin

Aus dem binVerzeichnis können Sie die verwenden keytool.

wired00
quelle
2

Wenn Sie Android Studio für Windows verwenden, um einen Release-Keystore und eine signierte APK-Datei zu erstellen, führen Sie einfach die folgenden Schritte aus:

1) Erstellen> Signierte APK generieren

2) Wählen Sie "Neu erstellen ...", wählen Sie den Pfad zum Schlüsselspeicher und geben Sie alle erforderlichen Daten ein

3) Nachdem Ihr Keystore (your_keystore_name.jks) erstellt wurde, erstellen Sie damit Ihre erste signierte apk an einem Ziel Ihrer Wahl

Ich habe keine Notwendigkeit gesehen, das Befehlstool zu verwenden, wenn Sie eine IDE wie Android Studio haben.

Whyoz
quelle
Vielleicht zur Entdeckung des SHA1-Fingerabdrucks?
Iyas
0

Tatsächlich wird der Eclipse-Export aufgerufen

java -jar android-sdk-windows\tools\lib\sdklib.jar com.android.sdklib.build.ApkBuilderMain

und rufen Sie dann com.android.sdklib.internal.build.SignedJarBuilder auf.

DIYismus
quelle
0

Eine Sache, die hier nicht erwähnt wurde (aber mich davon abgehalten hat, Keytool insgesamt auszuführen), war, dass Sie die Eingabeaufforderung als Administrator ausführen müssen.

Ich wollte es nur teilen ...

Rogut
quelle
Dies sollte wahrscheinlich ein Kommentar und keine Antwort sein.
Ian R. O'Brien
1
Ich bin damit einverstanden, sollte ein Kommentar sein, obwohl das Pech ist, haben Sie nicht genug Repräsentanten, um zu kommentieren!
Joel Balmer
0

Sie müssen die Befehlszeile nicht verwenden.

Wenn Sie im ADK DATEI-> "Android-Anwendung exportieren", können Sie einen Schlüssel erstellen und anschließend Ihre APK-Datei erstellen.

Lawrence Chernin
quelle