当我使用命令时:

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

我得到这个错误:

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

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

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

任何帮助吗?


当前回答

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

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

其他回答

这对我很管用!!:

转到这个路径或任何你有keytool.exe文件的地方

C:\Program Files\Java\jre7\bin

按住shift并右键单击->,然后在这里按打开命令窗口

终端将弹出,粘贴这个:

keytool -list -v -keystore "C:\Users\"Your-User-Name(no quotes)"\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

给你MD5和SHA1

进入“我的电脑->”右键单击->系统属性->环境变量->路径-> 将jdk/bin添加到此路径下 C:\Program Files\Java\ jdk1.8.0_211 \ bin

*如果这不起作用,那么

在cmd中使用下面的命令设置路径 set PATH=C:\Program Files\Java\jdk1.8.0_211\bin

现在路径设置好了,你可以使用keytool了

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

如果你想从终端的任何位置运行keytool

例如:C: > keytool

你需要添加系统变量

Windows:

1) create:
JAVA_HOME
C:\Program Files\Java\jdk1.7.0_45

2) add to Path
%JAVA_HOME%\bin;

如果你现在有这样的结构:

 C:\Program Files\Java\jre6\bin\
                                keytool.exe
                                debug.keystore

然后执行:

C:\Program Files\Java\jre6\bin>keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android