2013-03-10 107 views
22

我收到此错误。默认密钥库文件不存在?

C:\Program Files\Java\jre7\bin>keytool -list -v -keystore "C:\Users\Suresh\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android 

keytool error: java.lang.Exception: Keystore file does not exist: C:\Users\Suresh\.android\debug.keystore 

java.lang.Exception: Keystore file does not exist: C:\Users\Suresh\.android\debug.keystore 

at sun.security.tools.KeyTool.doCommands(Unknown Source) 
at sun.security.tools.KeyTool.run(Unknown Source) 
at sun.security.tools.KeyTool.main(Unknown Source) 

C:\Program Files\Java\jre7\bin> 

enter image description here

+0

您是否检查过您正在指定的路径中存在'debug.keystore' _actually_? – 2013-03-10 06:02:26

+0

debug.keystore文件不存在“C:\ Users \ Suresh \ .android \” – Jahir 2013-03-10 06:04:21

+0

是的。我阅读了OP,我确切地知道它的含义。我的问题是,'debug.keystore'文件是否存在于你在命令中指定的路径中? – 2013-03-10 06:05:54

回答

23

您必须提供给debug.keystore文件走错了路。

按照以下步骤获得正确的路径和完成命令:

  1. 在Eclipse中,单击窗口菜单 - >首选项 - >展开的Android - >构建
  2. 在右侧面板中,寻找:默认调试密钥库:
  3. 选择下一步整个框在步骤2
01所指定的标签

最后,使用刚刚从第3步中复制的路径来构建你的命令:

例如,在我的情况下,这将是:

C:\ Program Files文件\的Java \ jre7 \ BIN>密钥工具-list -v -keystore “C:\用户\亚洲时报Siddharth Lele.android \ debug.keystore” -alias androiddebugkey -storepass机器人-keypass机器人

更新:

如果您已经遵循上述步骤,唯一的解决方法是删除debug.keystore并让Eclipse为您重新创建它。

第1步:转到您的密钥库存储路径。在你的情况下,C:\Users\Suresh\.android\debug.keystore

第2步:关闭并重新启动Eclipse。

步骤3(可选):在再次创建debug.keystore之前,您可能需要清理项目。

来源:http://www.coderanch.com/t/440920/Security/KeyTool-genkeypair-exception-Keystore-file

您可以参考此有关删除您debug.keystore文件中的一部分:"Debug certificate expired" error in Eclipse Android plugins

+0

那么android studio呢? – 2015-10-05 17:48:40

+2

@SahilBabbar:它仍然可以在同一地点使用。在Windows中,例如:'C:\ Users \ THE_USER \ .android \ debug.keystore'。那部分没有改变。 – 2015-10-06 06:44:39

4

对于Mac用户:debug.keystore文件存在于~/.android目录。有时,由于相对路径,上述错误不断弹出。

+0

我有最新版本的Android Studio(1.5.1),我的debug.keystore不在那里。我找不到它。任何指针?我正在使用OSX El Capitan。 – 2016-01-13 22:46:47

+0

与我同样的问题,你解决了吗? @Rameez Hussain – 2016-02-11 09:51:54

+0

这可能是由于OSX El Capitan中引入的[SIP](https://en.wikipedia.org/wiki/System_Integrity_Protection)导致的,因此,随着El Capitan中引入新概念,社区支持变得很弱。你必须亲自解决它,社区只能提供一段时间的指针。 – 2016-02-14 14:17:00

18

用这个MAC用户

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

它的工作,谢谢。 – 2016-11-22 11:17:47

+0

@HarisurRehman,你完成这个命令需要多长时间? – 2017-01-18 17:21:22

+0

@DevetiPutnik没多久。不超过几分钟 – 2017-01-18 18:10:49

1

对于Mac/Linux的调试密钥库的Android docs有:

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

但有一些可能不是很明显:如果你把反斜杠,请确保在反斜杠后面的终端中执行shift + return,以便以-alias开头的第二行位于新行。简单地粘贴不起作用。

你的终端(如果成功的话)将是这个样子:

$ keytool -exportcert -list -v \ 
→ -alias androiddebugkey -keystore ~/.android/debug.keystore 
Enter keystore password: 

默认调试密码是:机器人

边注:在Android Studio中,您可以在管理签约:

文件>项目结构>模块 - (您的应用程序)>签名