密钥库文件不存在

时间:2014-11-20 10:26:11

标签: android xamarin google-api mono

我试图获取SHA1指纹,以便获得Google API密钥。 我在以下目录中:

  

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

然后我从google网站执行命令:

  

keytool -list -v -keystore mystore.keystore

但它给出了这个错误:

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)

我遵循了教程,但我无法让它发挥作用! 有谁知道我做错了什么?

BTW:我正在使用Macbook Pro和Xamarin Studio 5.5.2。

15 个答案:

答案 0 :(得分:63)

Linux& Mac命令

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

将为您提供SHA1,SHA256,MD5作为默认调试密钥。它可以用于谷歌播放服务的开发和调试。

对于出版证书,请按照https://developer.android.com/studio/publish/app-signing.html

进行操作

答案 1 :(得分:22)

你说你正在运行命令......

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

您的密钥库文件也在该目录中吗?如果没有,则需要指定密钥库文件的路径,例如

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

使用的密钥库应该是用于签署应用程序的密钥库。对于Xamarin调试版本,这将是位于/Users/[USERNAME]/.local/share/Xamarin/Mono\ for\ Android/debug.keystore的调试密钥库。 OSX上的命令就是......

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

或者在Windows 7上

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

答案 2 :(得分:5)

我面临同样的问题,但通过以下命令解决:

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

操作系统:Windows 7

答案 3 :(得分:2)

对于我的情况,在Android Studio上首次运行应用后会生成debug.keystore

答案 4 :(得分:1)

Mac和Mac的最新更新Ubuntu的

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

答案 5 :(得分:1)

我从 teamtreehouse 论坛找到了这个指南。希望它会帮助你。

1)按开始+ R 并输入cmd.exe,打开命令提示符

2)使用 Windows资源管理器,找到 JDK 目录所在的位置(通常是Program Files&gt;&gt; Java)并复制路径。

3)在命令提示符中,键入cd,然后键入JDK bin目录的目录。例如:cd C:\ Program Files \ Java \ jdk1.8.0_25 \ bin是我使用的命令(你的命令可能会有所不同)。

4)使用Windows资源管理器,找到.android目录所在的位置(通常在用户&gt;&gt; [YOUR WINDOWS USERNAME]下)并复制路径。

5)现在,使用以下命令:

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

用您复制的路径替换[PATH_TO_.ANDROID_DIRECTORY]。请注意,您应该在JDK的bin目录中的terminal / command提示符下运行此命令(您在步骤3中执行了此操作)。

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

请务必使用C:\Users\HoSiLuan\.android\debug.keystore代替~/.android\debug.keystore。键入此缩短方式时仍然出现错误。

然后应该提示您输入正常密码(密码是android)。之后,您将看到打印到屏幕上的证书列表。

答案 6 :(得分:1)

我有Windows 10,我去了那条路线

c:/Users/usuario/.android/

在内部目录中,执行命令:

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

必须生成指纹:

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

答案 7 :(得分:1)

我有同样的问题。 我的错误是

  

keytool错误:java.lang.Exception:密钥库文件不存在:/ Users / [USER_NAME] /。android / debug.keystore java.lang.Exception:密钥库   文件不存在:/ Users / [USER_NAME] /。android / debug.keystore    在java.base / sun.security.tools.keytool.Main.doCommands(Main.java:910)    在java.base / sun.security.tools.keytool.Main.run(Main.java:416)    在java.base / sun.security.tools.keytool.Main.main(Main.java:409)

我检查了/Users/[USER_NAME]/.android/目录,但在该目录中找不到debug.keystore文件。

原因

我使用了VSCODE,并且仅通过iOS Simulator运行了我的应用程序。

解决方案:

我打开了Android Studio,并使用Android模拟器运行用于Android的应用程序。

然后我在.android /目录中获得了debug.keystore文件。

然后我再次尝试以下命令:

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

它运行没有任何错误。

希望对您有帮助。

答案 8 :(得分:1)

我在 Windows 10 上也遇到了同样的问题,并通过编写以下命令解决了该问题:

keytool -list -keystore debug.keystore

我认为Java找不到其他一些命令,但是有趣的是,该命令对我有用。

答案 9 :(得分:1)

我有同样的错误 正在使用ubuntu 18.04

解决方案:

打开终端并导航到/home/{$user}/.android

然后运行命令

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

系统将提示您输入密钥库密码,输入android

希望这会有所帮助。

答案 10 :(得分:1)

我在Windows 10中也有同样的错误。但是对其进行了排序,最后得到了SHA-1密钥。

我遵循了这些步骤

1。打开C驱动器,并遵循以下路径C:\Program Files\Java\jdk1.8.0_201\bin

2。在bin文件夹内,打开CMD并运行命令keytool -exportcert -list -v -alias androiddebugkey -keystore C:/Users/Username/.android/debug.keystore。 (用您的用户名替换用户名)。

3。输入密码android

答案 11 :(得分:0)

我遇到了同样的问题,发现在另一个.android文件夹中有一个.android文件夹。 确保在系统上找到debug.keystore文件的正确路径

我使用了此命令,并且有效

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

答案 12 :(得分:0)

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

尝试此操作以解决问题

答案 13 :(得分:0)

如果您在 Windows 上打开命令提示符并以管理员身份运行,然后粘贴行 keytool -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore。那应该有用,它对我有用

答案 14 :(得分:0)

Linux 或 Mac 或 Windows,使用完整路径

苹果机:

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

Linux(就我而言是 Ubuntu):

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

视窗:

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

希望它对您有用!