当我使用命令时:

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

我得到这个错误:

'keytool'不能被识别为内部或外部命令、可操作程序或批处理文件。

我无法在计算机上获得证书指纹(MD5)。

我已经确保密钥存储库文件位于适当的位置。

任何帮助吗?


当前回答

打开“环境变量”(你可以在Win10的开始菜单搜索中找到它) 仔细检查JDK所在的路径,以确保它存在。 对我来说,它说“…jdk1.8/bin” 但当我把它复制到Windows资源管理器或命令提示符时,它说它不存在。 我检查了它应该在哪里,它说“jdk1.8.0_77”

一个简单的重命名设置在Android工作室和keytool是工作!

其他回答

检查keytool可执行文件所在的目录是否在您的%PATH%环境变量上。

例如,在我的Windows 7电脑上,它就在 C:\Program Files (x86)\Java\jre6\bin;C:\WINDOWS\System32\WindowsPowerShell\v1.0\(和许多其他条目)

keytool命令可能不在你的路径中——它是Java的一部分,是作为Android Studio的一部分安装的。对于具体路径,运行flutter doctor -v并找到打印在' Java binary at: '之后的路径。然后使用完全限定的路径,用keytool替换java(在最后)。如果路径包含空格分隔的名称,例如Program Files,则使用适合平台的符号表示这些名称。例如,在Mac/Linux上使用程序\文件,在Windows上使用“程序文件”。

简单,只需找到keytool可执行文件的位置,通常是在java/jre(版本)/bin例如,在我的电脑是在C:\Program Files\Java\jre7\bin.你所要做的就是去环境变量,点击PATH使其活跃,然后点击编辑,然后添加完整的路径,你的keytool是,对我来说,我会添加C:\Program Files\Java\jre7\bin,这将允许你执行keytool命令,而不去keytool安装的目录。

我知道已经有几个答案了,但没有一个对我有用,所以我发布了一个对我有用的答案,可能对别人有帮助。

首先目录上必须有keytool.exe的路径

如果不是目录在路径上,这是给出错误,然后尝试启动命令行作为一个普通用户,而不是作为一个管理员或更改目录到主目录

我遭受了很多试图找到一个解决方案,最后我找到了解决方案,首先通过导航到系统变量设置jre路径:

control panel > System and Security > System > Advanced system settings 

在“系统变量”下单击新建

Variable name: KEY_PATH
Variable value: C:\Program Files (x86)\Java\jre1.8.0_171\bin

变量值应该是JDK bin文件夹的路径。

然后打开命令提示符并更改目录到相同的JDK的bin文件夹,如下所示

C:\Program Files (x86)\Java\jre1.8.0_171\bin 

然后在CMD中复制并粘贴下面的代码

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