Android: 在定位debug.keystore时,命令行出现keytool错误

4
我将尝试使用JDK中的keytool.exe从debug.keystore文件生成MD5指纹,以便在我的Android项目中使用Google Maps。我已经找到了keystore文件,并将其移动到C:\android目录下,以便方便操作。
然后,在命令提示符中输入以下内容:
c:\Program Files\Java\jdk1.5.0_13\bin>keytool -list -alias androiddebugkey -keystore "C:\android\debug.keystore" -storepass android -keypass android

我一直收到错误信息:

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

我也尝试过直接从其原始位置输入密钥库,而不是将其移动到 c:\ android ,但仍然出现相同的错误。有人知道为什么会发生这种情况吗?此外,还有其他获取此MD5指纹的方法吗?可能有一些程序可以实现吗?
8个回答

8

生成debug.keystore文件

在Eclipse/ADT中,前往“Windows”>“Preferences”>“Android”>“Build”

一旦生成了文件,请使用以下命令(c:\Program Files\Java\jdk1.5.0_13\bin>keytool -list -alias androiddebugkey -keystore "C:\android\debug.keystore" -storepass android -keypass android)来生成MD5。

这用于为Google地图生成API密钥。


5

您应该从c:\Program Files (x86)\java\jre6\bin>执行keytools命令

然后在此处执行keytool命令,不需要 "\"

keytool -list -alias androiddebugkey -keystore C:\Users\<you_user_name>\.android\debug.keystore -storepass android -keypass android

它会有效!


3
你可以尝试将c:\Program Files\Java\jdk1.5.0_13\bin添加到你的PATH中,然后从C:\android directory目录运行keytool命令。这是我做的(或多或少相同 - 我有JDK6和不同的目录),它可以正常工作。

抱歉,我不理解您所说的将"c:\Program Files\Java\jdk1.5.0_13\bin"添加到您的路径中是什么意思。能否再次解释一下?很抱歉我的无知。 - Capsud
抱歉,我知道你的意思。我已将其添加到我的路径中,我从jdk\bin路径运行'keytool -list -alias androiddebugkey -keystore "C:\android\debug.keystore" -storepass android -keypass android',但仍然无法工作。我认为debug.keystore文件本身有问题。 - Capsud

3
有时候,你的.android文件夹会存在于C:\Documents and Settings路径中。通常由于Documents and Settings中有空格,命令无法正常运行。
最好的办法是在C盘下创建一个测试文件夹,并将debug.keystore文件放入该文件夹中。然后将路径设置为:
keytool -list -alias androiddebugkey -keystore "C:\test\debug.keystore" -storepass android -keypass android 

这个命令是有效的。如果有人在使用此命令时遇到问题并出现错误,可以尝试运行以下命令。


1

要生成debug.keystore,您必须运行任何一个应用程序至少一次。只需创建和运行任何一个简单的“Hello World”Android应用程序即可生成它。

  1. 创建“Hello World”Android应用程序

  2. 运行“Hello World”Android应用程序


实际上,构建它就足以创建debug.keystore。 - Paul Beusterien
谢谢您的回复。当然足够了。我在新的操作系统安装时会这样做编码。这样错误就会消失了。 - toha

1

我曾经遇到同样的问题,当检查 C:\user.android 目录时发现 debug.keystore 文件不存在。由于这是在这台机器上第一次尝试 Android 项目,因此之前没有进行过任何构建。我创建并运行了普及的“Hello World”项目,debug.keystore 立即被创建。然后我运行了 keytool 工具,MD5 值显示正常。


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

告诉我文件不在你认为的位置。

此外,如果您正在使用Eclipse Android工具,则可以通过Eclipse导出已签名的APK文件,这可能比使用命令行工具更容易。


它肯定在那里,因为我可以看到它。唯一的问题是密钥库文件错误地设置为使用“记事本”打开。我认为这可能是问题所在。我该如何更改它或使其忘记与记事本的关联? - Capsud
你的文件名似乎是以 .txt 作为扩展名,是这样吗? - Mark B
文件实际上被称为debug.keystore.keystore而不是debug.keystore。我之前已经将其重命名,只有当我进入文件属性时才注意到问题。 :) - Capsud

0

首先我进入了bin目录,然后

找到你的debug.key所在的位置..通常在.android文件夹中,它就像魔法一样起作用了

其中androiddebugkey是你给出的名称

C:\Program Files\Java\jdk1.8.0_66\bin>keytool -exportcert -list -v -alias androiddebugkey  -keystore C:\Users\001557\.android\debug.keystore

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接