Non riesco a trovare il keytool Android


265

Sto cercando di seguire il tutorial di mappatura Android e sono arrivato a questa parte in cui ho dovuto ottenere una chiave API .

Ho trovato il mio debug.keystorema non sembra esserci keytoolun'applicazione nella directory:

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

Non c'è anche nessuno keytoolin questa directory:

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

Sto usando Eclipse come il mio editor e credo di aver scaricato tutti gli SDK più recenti.

Che cosa sto facendo di sbagliato?


12
Grande. Ho pubblicato la mia seconda domanda in assoluto e ricevo un "Tumbleweed" per il mio primo badge !!! Per favore, deridimi delicatamente :-)
Tim

fantastico, hai trovato un modo per ottenere il rilascio SHA1 su Windows
Pankaj Nimgade,

Risposte:


441

keytoolviene fornito con Java SDK. Dovresti trovarlo nella directory che contiene javac, ecc.


153
Capito: C: \ Programmi \ Java \ jdk1.6.0_14 \ bin Grazie
Tim

5
riesco persino a trovarlo nel JRE ... Grazie
Nick.T

4
Un trucco utile è salvare l'output in un file, in modo da poter prendere la chiave. Aggiungilo alla fine:> somefilename.txt
Attaque,

3
In C: \ Programmi \ Java \ jdk1.7.0_79 \ bin
Jean-François

18
Il mio era in C:\Program Files\Android\Android Studio\jre\bin(Using Studio, not Eclipse)
Tim Krins,

99

Ok, quindi questo post è di sei mesi fa, ma ho pensato di aggiungere alcune informazioni qui per le persone che sono confuse sull'intero business delle chiavi API / MD5. Mi ci è voluto un po 'di tempo per capire, quindi presumo che anche altri abbiano avuto problemi con esso (a meno che non sia solo così noioso).

Queste indicazioni sono per Windows XP, ma immagino che sia simile per altre versioni di Windows. Sembra che gli utenti Mac e Linux si divertano di più con questo, quindi non mi occuperò di loro.

Pertanto, al fine di utilizzare le visualizzazioni delle mappe nelle tue app Android, Google desidera effettuare il check-in con esse in modo da poter firmare un accordo sui Termini di servizio delle API di Android Maps. Penso che non vogliono che tu realizzi app GPS passo-passo per competere con le loro o cose del genere. Non l'ho letto davvero. Ops.

Quindi vai su http://code.google.com/android/maps-api-signup.html e provalo . Vogliono che controlli la casella "Ho letto e accetto i termini e le condizioni" e inserisci l'impronta digitale MD5 del tuo certificato. Wtf è quello, potresti dire. Non lo so, ma fai quello che dico e la tua app per Android non si fa male.

Vai su Start> Esegui e digita cmd per aprire un prompt dei comandi. È necessario passare alla directory con il file keytool.exe, che potrebbe trovarsi in una posizione leggermente diversa a seconda della versione di JDK installata. Il mio è dentro C:\Program Files\Java\jdk1.6.0_21\binma prova a navigare nella cartella Java e vedere quale versione hai e cambiare il percorso di conseguenza.

Dopo essere passati a C: \ Programmi \ Java \ <"qui la tua versione JDK"> \ bin nel prompt dei comandi, digita

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

con le virgolette. Naturalmente <"il tuo nome utente qui"> sarebbe il tuo nome utente Windows.

(Se riscontri problemi nel trovare questo percorso e stai utilizzando Eclipse, puoi selezionare Finestra> Preferenze> Android> Crea e controlla "Archivio chiavi di debug predefinito")

Premi Invio e ti verrà richiesta una password. Premi Invio. E voilà, in fondo è la tua impronta digitale MD5. Digita la tua impronta digitale nella casella di testo nella pagina di registrazione dell'API di Android Maps e premi Genera chiave API.

E c'è la tua chiave in tutto il suo splendore, con un pratico layout XML di esempio con la chiave inserita per poterla copiare e incollare.


Mi hai risparmiato un mal di testa o due
zabawaba99,

Queste non dovrebbero essere barre rovesciate, anziché barre rovesciate, su Windows?
Ryan R,

Cordiali saluti, se si utilizza jdk1.7 aggiungere il modificatore-v
Ryan R

Più persone dovrebbero spiegare come te!
K - La tossicità in SO sta crescendo.

@malfunction, c'è un modo per ottenere SHA1 per il rilascio build su windows
Pankaj Nimgade,

17

Ok l'ho fatto nel sistema a Windows 7 a 32 bit.

passaggio 1 : vai a - C: \ Programmi \ Java \ jdk1.6.0_26 \ bin - ed esegui prima jarsigner.exe (doppio clic)

step2 : individuare debug.keystore, nel mio caso lo era - C: \ Users \ MyPcName \ .android

step3 : apri il prompt dei comandi e vai a dir - C: \ Programmi \ Java \ jdk1.6.0_26 \ bin e dai il seguente comando: keytool -list -keystore "C: \ Users \ MyPcName \ .android \ debug.keystore"

step4 : chiederà la password del Keystore ora. (che sto immaginando ...: -?)

aggiornamento: OK nel mio caso la password era "Android". - (Sto usando Eclipse per Android, quindi l'ho trovato qui) Segui i passaggi in eclipse : Windows> preferenze> android> build> ..
(Cerca nel campo `Debug Keystore´ predefinito .)



Comando per cambiare la password del keystore (guarda qui): Keystore cambia le password




10

La risposta in 4 passaggi sopra ha funzionato per me, ma restituisce la chiave SH1 ... ma Google chiede la chiave MD5 per generare la chiave API.

Basta semplicemente aggiungere una '-v' al comando nel passaggio 3. -come quindi:

Risposta in 4 passaggi aggiornata

Ok l'ho fatto nel sistema a Windows 7 a 32 bit.

passaggio 1 : vai a - C: \ Programmi \ Java \ jdk1.7.0 \ bin - ed esegui prima jarsigner.exe (doppio clic)

step2 : individuare debug.keystore (in Eclipse: Windows / Preferenze / Android / build ..), nel mio caso lo era - C: \ Users \ MyPcName.android

step3 : apri il prompt dei comandi e vai a dir - C: \ Programmi \ Java \ jdk1.7.0 \ bin e dai il seguente comando: keytool -v -list -keystore "C: \ Users \ MyPcName.android \ debug.keystore"

step4 : chiederà la password del Keystore ora. L'impostazione predefinita è 'Android'


6

Non ho mai installato Java, ma quando installi Android Studio ha una sua versione nella directory di Android. Qui è dove si trova il mio. Il tuo percorso potrebbe essere simile. Dopodiché puoi inserire il keytool nel tuo percorso o semplicemente eseguirlo da quella directory.

C:\Program Files\Android\Android Studio\jre\bin

2

Sembrava molto più difficile da trovare di quanto non lo sia per OSX. Troppi post in conflitto

Per MAC OSX Mavericks Java JDK 7, attenersi alla seguente procedura per individuare keytool:

Innanzitutto assicurati di installare Java JDK:

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

Quindi digita questo nel prompt dei comandi:

/usr/libexec/java_home -v 1.7

sputerà qualcosa del tipo:

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

keytoolsi trova nella stessa directory di javac. vale a dire:

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

Dalla bindirectory è possibile utilizzare il keytool.


2

Se stai usando Android Studio per Windows per creare un keystore di rilascio e firmato .apk, procedi nel seguente modo:

1) Genera> Genera APK firmato

2) Scegli "Crea nuovo ...", scegli il percorso del keystore e inserisci tutti i dati richiesti

3) Dopo aver creato il keystore (your_keystore_name.jks), lo utilizzerai per creare il tuo primo apk firmato in una destinazione di tua scelta

Non ho visto la necessità di utilizzare lo strumento di comando se hai un IDE come Android Studio.


forse per l'uso per scoprire l'impronta digitale SHA1?
Iyas,

0

In effetti, l'esportazione di eclissi chiamerà

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

e quindi chiama com.android.sdklib.internal.build.SignedJarBuilder.


0

Una cosa che non è stata menzionata qui (ma mi ha impedito di eseguire keytool del tutto) è stata la necessità di eseguire il prompt dei comandi come amministratore.

Volevo solo condividerlo ...


Questo dovrebbe probabilmente essere un commento e non una risposta.
Ian R. O'Brien,

1
Sono d'accordo dovrebbe essere un commento, anche se è sfortuna, non hai abbastanza rappresentante per commentare!
Joel Balmer,

0

Non è necessario utilizzare la riga di comando.

Se FILE-> "Esporta applicazione Android" nell'ADK, ti permetterà di creare una chiave e quindi produrre il tuo file .apk.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.