默认密钥库文件不存在?

Posted

技术标签:

【中文标题】默认密钥库文件不存在?【英文标题】:Default keystore file does not exist? 【发布时间】:2013-02-25 11:55:33 【问题描述】:

我收到了这个错误。

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>

【问题讨论】:

您是否检查过debug.keystore 实际上 是否存在于您指定的路径中? debug.keystore 文件不存在 "C:\Users\Suresh\.android\" 是的。我阅读了 OP,我确切地知道它的含义。我的问题是,debug.keystore 文件是否存在于您在命令中指定的路径中? 路径中的 debgu.keystore 文件未创建(或不存在) 那么你的问题是什么? 'keytool -list' 不会创建密钥库,除了您的想法之外,没有任何关于该密钥库的“默认”。 【参考方案1】:

您提供的debug.keystore 文件的路径一定是错误的。

按照以下步骤获取正确的路径并完成您的命令:

    在 Eclipse 中,点击 Window 菜单 -> Preferences -> Expand Android -> Build 在右侧面板中,查找:默认调试密钥库: 选中第 2 步中指定的标签旁边的整个框

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

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

C:\Program Files\Java\jre7\bin>keytool -list -v -keystore “C:\Users\Siddharth Lele.android\debug.keystore”-别名 androiddebugkey -storepass android -keypass android

更新:

如果您已经按照上述步骤操作,唯一的其他解决方案是删除 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

【讨论】:

安卓工作室怎么样? @SahilBabbar:它仍然在同一位置可用。例如在 Windows 中:C:\Users\THE_USER\.android\debug.keystore。那部分没有改变。【参考方案2】:

将此用于 MAC 用户

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

【讨论】:

@HarisurRehman,你完成这个命令花了多长时间? @DevetiPutnik 并没有花太多时间。不超过几分钟 有趣,我在 10 分钟前执行了它,它仍然在“工作”。我在命令下只得到很多^@^@^@^@^@^@^@^@^@。【参考方案3】:

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

【讨论】:

我有最新版本的 Android Studio (1.5.1),但我的 debug.keystore 不存在。我找不到它。任何指针?我正在使用 OSX El Capitan。 和我一样的问题,你解决了吗? @Rameez Hussain 这可能是由于 OSX El Capitan 中引入了SIP,因此,随着 El Capitan 中引入新概念,社区支持变得薄弱。你必须亲自解决它,社区只能提供一段时间的指针。【参考方案4】:

对于 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

附注:在 Android Studio 中,您可以管理登录:

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

【讨论】:

【参考方案5】:

转到 ~/.android 如果没有 debug.keystore 从你的项目复制它并粘贴到这里然后再次运行命令。

【讨论】:

【参考方案6】:

在 macOS 中,打开终端并输入以下命令

~/.android

它将导航到包含 Keystore 文件的文件夹(您可以使用 'ls' 命令确认)

在我的例子中,有一个名为“debug.keystore”的文件。然后从 ~/.android 目录在终端中键入以下命令。

keytool -list -v -keystore debug.keystore

你会得到预期的输出。

【讨论】:

以上是关于默认密钥库文件不存在?的主要内容,如果未能解决你的问题,请参考以下文章

win10 iis配置 出现密钥集不存在的错误

keytool -genkey 错误:密钥库文件不存在

无法从密钥环文件 secring.gpg 中检索密钥,因为它不存在

PFX 到 JKS 密钥工具的转换:别名 <*> 不存在

密钥集不存在怎样解决?

抛出“密钥不存在”异常。我究竟做错了啥?