Keystore file doesn't exist

AndroidXamarinGoogle ApiMono

Android Problem Overview


I'm trying to get the SHA1 fingerprint so I can get an Google API key. Im in the following directory:

> /Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/bin

Then I execute the command from the google site :

> keytool -list -v -keystore mystore.keystore

But it gives this error:

keytool error: java.lang.Exception: Keystore file does not exist: mystore.keystore
java.lang.Exception: Keystore file does not exist: mystore.keystore
	at sun.security.tools.keytool.Main.doCommands(Main.java:742)
	at sun.security.tools.keytool.Main.run(Main.java:340)
	at sun.security.tools.keytool.Main.main(Main.java:333)

I followed tutorials but I can't get it to work! Does anyone know what I am doing wrong?

BTW: I'm using a Macbook Pro with Xamarin Studio 5.5.2.

Android Solutions


Solution 1 - Android

Linux & Mac command

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

Will give you SHA1, SHA256, MD5 for default debug key. And it can be used for developing and debugging with google play services.

For publication certificate just follow https://developer.android.com/studio/publish/app-signing.html

Solution 2 - Android

You said you are running the command from...

/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/bin

Is your keystore file in that directory as well? If not then you need to specify the path to the keystore file, e.g.

keytool -list -v -keystore ~/somefolder/mystore.keystore

The keystore used should be the one used to sign the app. For Xamarin debug builds this will be the debug keystore located at /Users/[USERNAME]/.local/share/Xamarin/Mono\ for\ Android/debug.keystore. The command on OSX for this would be...

keytool -list -v -keystore /Users/[USERNAME]/.local/share/Xamarin/Mono\ for\ Android/debug.keystore -alias androiddebugkey -storepass android -keypass android

Or on Windows 7

keytool -list -v -keystore C:\Users\[USERNAME]\AppData\Local\Xamarin\Mono for Android\debug.keystore -alias androiddebugkey -storepass android -keypass android

Solution 3 - Android

I faced the same issue, but resolved via following command:

keytool -exportcert -keystore C:\Users\<USERNAME>\.android\debug.keystore -list -v

OS: Windows 7

Solution 4 - Android

I have windows 10, I went to the route

c:/Users/usuario/.android/

Inside directory, execute command:

keytool -exportcert -keystore debug.keystore -list -v

Must generate fingerprint:

SHA-1: 73:BE:1A:.......................
MDO: 73:BE:A1.........................
SHA-256: 3B:B8:98:...................

Solution 5 - Android

Please provide the complete path of debug.keystore. Example: C:/Users/myusername/.android/debug.keystore instead of ~/.android/debug.keystore

Solution 6 - Android

In my case the debug.keystore is generated after the first run of the app on Android Studio

Solution 7 - Android

I had the same error in Windows 10 as well. But sorted it and finally got SHA-1 Key.

I followed these steps

1.Open C drive and follow this path C:\Program Files\Java\jdk1.8.0_201\bin .

2.Inside bin folder open CMD and run command keytool -exportcert -list -v -alias androiddebugkey -keystore C:/Users/Username/.android/debug.keystore . (Replace Username with your username).

3.Enter password as android .

Solution 8 - Android

I found this guide from teamtreehouse forum. hope it'll help you.

  1. Open Command Prompt by pressing Start+R and typing cmd.exe.

  2. Using Windows Explorer, find where your JDK directory is located (Usually Program Files >> Java) and copy the path.

  3. In Command Prompt, type cd followed by the directory of your JDK’s bin directory. e.g: cd C:\Program Files\Java\jdk1.8.0_25\bin is the command I use (Yours may vary).

  4. Using Windows Explorer, find where your .android directory is located (Usually under Users >> [YOUR WINDOWS USERNAME]) and copy the path.

  5. Now, use this command below:

    keytool -exportcert -alias androiddebugkey -keystore[PATH_TO_.ANDROID_DIRECTORY] -list -v

Replacing [PATH_TO_.ANDROID_DIRECTORY] with the path you copied. Note that you should be running this command in terminal/command prompt in your JDK’s bin directory (You did this in Step 3).

Mine is C:\Program Files\Java\jdk1.8.0_121\bin>keytool -exportcert -alias androiddebugkey -keystore C:\Users\HoSiLuan\.android\debug.keystore -list -v

Remember to use C:\Users\HoSiLuan\.android\debug.keystore instead of ~/.android\debug.keystore. I still got the error when type this shorten way.

You should then be prompted with the password as normal which you can enter (The password is android) . After that, you’ll see the list of certificates printed to the screen.

Solution 9 - Android

I had the same issue. My error was

> keytool error: java.lang.Exception: Keystore file does not exist:/Users/[USER_NAME]/.android/debug.keystore java.lang.Exception: Keystore > file does not exist: /Users/[USER_NAME]/.android/debug.keystore > at java.base/sun.security.tools.keytool.Main.doCommands(Main.java:910) > at java.base/sun.security.tools.keytool.Main.run(Main.java:416) > at java.base/sun.security.tools.keytool.Main.main(Main.java:409)

I checked my /Users/[USER_NAME]/.android/ directory and I couldn't find debug.keystore file there.

Reason:

I used VSCODE and I did run my application only for iOS through iOS Simulator.

Solution:

I opened Android Studio and run my application for android with Android Emulator.

Then I got debug.keystore file in my .android/ directory.

Then I tried command below again:

keytool -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore

And it runs without any error.

I hope it helps you.

Solution 10 - Android

Linux or Mac or Windows, use complete path

Mac:

keytool -list -v -keystore /Users/username/.android/debug.keystore
-alias androiddebugkey -storepass android -keypass android

Linux (Ubuntu in my case):

keytool -list -v -keystore /home/username/.android/debug.keystore
-alias androiddebugkey -storepass android -keypass android

Windows:

keytool -list -v -keystore C:\Users\username\.android\debug.keystore
-alias androiddebugkey -storepass android -keypass android

Hpe it work for you!

Solution 11 - Android

I lived same problem on Windows 10 and solved that problem with writing below command:

keytool -list -keystore debug.keystore

I think with some other commands java couldn't find debug.keystore file but interestingly with that command it works for me.

Solution 12 - Android

I had the same Error am using ubuntu 18.04

Solution:

Open terminal and navigate to /home/{$user}/.android

Then run the command

keytool -list -v \ -alias androiddebugkey -keystore ~/.android/debug.keystore

You will be prompted to enter a keystore password enter android

Hope this helps.

Solution 13 - Android

last update for Mac & Ubuntu

keytool -exportcert -alias androiddebugkey -keystore  ~/.android/debug.keystore -list -v

Solution 14 - Android

I faced the same problem, I found that I had .android folder inside another .android folder. Make sure to find the right path of debug.keystore file on your system

I used this command and it worked

keytool -list -v -alias androiddebugkey -keystore C:\Users\User.android.android\debug.keystore

Solution 15 - Android

keytool -list -v -keystore C:\Users\%USERNAME%\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android

Try this to get resolve from the problem

Solution 16 - Android

If you are on Windows open command prompt and RUN AS ADMINISTRATOR then paste the line keytool -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore. That should work, it worked for me

Solution 17 - Android

Below command should work:

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

Solution 18 - Android

If you are on Windows open command prompt and then Run it as an administration then paste this: keytool -list -v -alias androiddebugkey -keystore %USERPROFILE%.android\debug.keystore

use password : android

then you will get SHA-1 and SHA-256 this worked smoothly for me.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionBasView Question on Stackoverflow
Solution 1 - AndroidAndrewView Answer on Stackoverflow
Solution 2 - AndroidTom BowersView Answer on Stackoverflow
Solution 3 - AndroidPratik PatelView Answer on Stackoverflow
Solution 4 - AndroidDiego Santa Cruz MendezúView Answer on Stackoverflow
Solution 5 - AndroidPradeep BasavarajView Answer on Stackoverflow
Solution 6 - AndroidCoolView Answer on Stackoverflow
Solution 7 - AndroidKevin JoseView Answer on Stackoverflow
Solution 8 - AndroidLuan Si HoView Answer on Stackoverflow
Solution 9 - AndroidMartin JHView Answer on Stackoverflow
Solution 10 - AndroidM E S A B OView Answer on Stackoverflow
Solution 11 - AndroidHasan BasriView Answer on Stackoverflow
Solution 12 - AndroidGenesView Answer on Stackoverflow
Solution 13 - AndroidMostafa AnterView Answer on Stackoverflow
Solution 14 - AndroidMajaliView Answer on Stackoverflow
Solution 15 - AndroidVishwan_9View Answer on Stackoverflow
Solution 16 - AndroidRonny KView Answer on Stackoverflow
Solution 17 - AndroidPigeon DevPHView Answer on Stackoverflow
Solution 18 - AndroidS creationView Answer on Stackoverflow