I can’t find the Android keytool
Asked Answered
M

10

272

I am trying to follow the Android mapping tutorial and got to this part where I had to get an API key.

I have found my debug.keystore but there does not appear to be a keytool application in the directory:

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

There is also no keytool in this 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

I am using Eclipse as my editor and believe that I have downloaded all the latest SDK.

What am I doing wrong?

Medlock answered 8/6, 2010 at 12:46 Comment(1)
awesome, did you find a way to get release SHA1 on windowsMelodious
I
446

keytool comes with the Java SDK. You should find it in the directory that contains javac, etc.

Internationale answered 8/6, 2010 at 14:50 Comment(5)
Got it: C:\Program Files\Java\jdk1.6.0_14\bin ThanksMedlock
A useful trick is to save the output to a file, so you can grab the key. Just add this in the end: > somefilename.txtFlatcar
In C:\Program Files\Java\jdk1.7.0_79\binOudh
Mine was in C:\Program Files\Android\Android Studio\jre\bin (Using Studio, not Eclipse)Quaky
those not having JDK install from here oracle.com/technetwork/java/javase/downloads/…Tsingyuan
D
100

Okay, so this post is from six months ago, but I thought I would add some info here for people who are confused about the whole API key/MD5 fingerprint business. It took me a while to figure out, so I assume others have had trouble with it too (unless I'm just that dull).

These directions are for Windows XP, but I imagine it is similar for other versions of Windows. It appears Mac and Linux users have an easier time with this so I won't address them.

So in order to use mapviews in your Android apps, Google wants to check in with them so you can sign off on an Android Maps APIs Terms Of Service agreement. I think they don't want you to make any turn-by-turn GPS apps to compete with theirs or something. I didn't really read it. Oops.

So go to http://code.google.com/android/maps-api-signup.html and check it out. They want you to check the "I have read and agree with the terms and conditions" box and enter your certificate's MD5 fingerprint. Wtf is that, you might say. I don't know, but just do what I say and your Android app doesn't get hurt.

Go to Start>Run and type cmd to open up a command prompt. You need to navigate to the directory with the keytool.exe file, which might be in a slightly different place depending on which version JDK you have installed. Mine is in C:\Program Files\Java\jdk1.6.0_21\bin but try browsing to the Java folder and see what version you have and change the path accordingly.

After navigating to C:\Program Files\Java\<"your JDK version here">\bin in the command prompt, type

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

with the quotes. Of course <"your user name here"> would be your own Windows username.

(If you are having trouble finding this path and you are using Eclipse, you can check Window>preferences>Android>Build and check out the "Default Debug keystore")

Press enter and it will prompt you for a password. Just press enter. And voila, at the bottom is your MD5 fingerprint. Type your fingerprint into the text box at the Android Maps API Signup page and hit Generate API Key.

And there's your key in all its glory, with a handy sample xml layout with your key entered for you to copy and paste.

Delegacy answered 12/12, 2010 at 5:19 Comment(6)
You saved me a headache or twoWalli
Shouldn't those be backslashes, instead of forward slashes, on Windows?Obsessive
FYI, if you use jdk1.7 add the modifier -vObsessive
More people should explain like you!Chirrup
@malfunction, is there a way to get SHA1 for release build on windowsMelodious
Aiwaa!! this helped ! thanksEpitome
R
17

Ok I did this in Windows 7 32-bit system.

step 1: go to - C:\Program Files\Java\jdk1.6.0_26\bin - and run jarsigner.exe first ( double click)

step2: locate debug.keystore, in my case it was - C:\Users\MyPcName\.android

step3: open command prompt and go to dir - C:\Program Files\Java\jdk1.6.0_26\bin and give the following command: keytool -list -keystore "C:\Users\MyPcName\.android\debug.keystore"

step4: it will ask for Keystore password now. ( which I am figuring out... :-? )

update: OK in my case password was ´ android ´. - (I am using Eclipse for android, so I found it here) Follow the steps in eclipse: Windows>preferences>android>build>..
( Look in `default Debug Keystore´ field.)



Command to change the keystore password (look here): Keystore change passwords



Requital answered 29/6, 2011 at 10:32 Comment(0)
K
10

The 4-Step Answer above worked for me, but it returns the SH1-key... but Google asks for the MD5-key to generate your API key.

One needs simply to add a '-v' in the command in step 3. -like so:

Updated 4-Step Answer

Ok I did this in Windows 7 32-bit system.

step 1: go to - C:\Program Files\Java\jdk1.7.0\bin - and run jarsigner.exe first ( double click)

step2: locate debug.keystore (in Eclipse: Windows/Preferences/Android/build..), in my case it was - C:\Users\MyPcName.android

step3: open command prompt and go to dir - C:\Program Files\Java\jdk1.7.0\bin and give the following command: keytool -v -list -keystore "C:\Users\MyPcName.android\debug.keystore"

step4: it will ask for Keystore password now. The default is 'android'

Kephart answered 21/10, 2011 at 9:57 Comment(0)
S
6

I never installed Java, but when you install Android Studio it has its own version within the Android directory. Here is where mine is located. Your path may be similar. After that you can either put the keytool into your path, or just run it from that directory.

C:\Program Files\Android\Android Studio\jre\bin
Sclerenchyma answered 6/7, 2018 at 22:46 Comment(0)
I
2

This seemed far harder to find than it needs to be for OSX. Too many conflicting posts

For MAC OSX Mavericks Java JDK 7, follow these steps to locate keytool:

Firstly make sure to install Java JDK:

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

Then type this into command prompt:

/usr/libexec/java_home -v 1.7

it will spit out something like:

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

keytool is located in the same directory as javac. ie:

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

From bin directory you can use the keytool.

Intermediate answered 6/2, 2014 at 20:42 Comment(0)
A
2

If you're using Android Studio for Windows to create a release keystore and signed .apk, just follow these steps:

1) Build > Generate Signed APK

2) Choose "Create New...", choose the path to the keystore, and enter all the required data

3) After your keystore (your_keystore_name.jks) has been created, you will then use it to create your first signed apk at a destination of your choosing

I haven't seen a need to use the command tool if you have an IDE like Android Studio.

Ascham answered 10/2, 2014 at 21:50 Comment(1)
perhaps for use to discover the SHA1 fingerprint?Brucie
D
0

In fact, eclipse export will call

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

and then call com.android.sdklib.internal.build.SignedJarBuilder.

Daly answered 13/10, 2011 at 12:44 Comment(0)
P
0

One thing that wasn't mentioned here (but kept me from running keytool altogether) was that you need to run the Command Prompt as Administrator.

Just wanted to share it...

Perdition answered 16/12, 2012 at 23:17 Comment(2)
This should probably be a comment and not an answer.Pointsman
I agree should be a comment, although that's bad luck, you don't have enough rep to comment!Senary
C
0

No need to use the command line.

If you FILE-> "Export Android Application" in the ADK then it will allow you to create a key and then produce your .apk file.

Canvass answered 14/11, 2013 at 21:17 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.