Keystore file doesn't exist
AndroidXamarinGoogle ApiMonoAndroid 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.
-
Open Command Prompt by pressing Start+R and typing cmd.exe.
-
Using Windows Explorer, find where your JDK directory is located (Usually Program Files >> Java) and copy the path.
-
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).
-
Using Windows Explorer, find where your .android directory is located (Usually under Users >>
[YOUR WINDOWS USERNAME]
) and copy the path. -
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.