默认密钥库文件不存在?
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
你会得到预期的输出。
【讨论】:
以上是关于默认密钥库文件不存在?的主要内容,如果未能解决你的问题,请参考以下文章