当我使用命令时:

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

我得到这个错误:

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

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

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

任何帮助吗?


当前回答

将C:\Program Files\Java\jdk-15.0.1\bin this添加到环境变量中。 参考这个网站。

其他回答

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

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

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

例如:C: > keytool

你需要添加系统变量

Windows:

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

2) add to Path
%JAVA_HOME%\bin;

我遭受了很多试图找到一个解决方案,最后我找到了解决方案,首先通过导航到系统变量设置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   

如果您使用flutter并下载了openssl-for-windows:

打开命令提示符 输入颤振医生-v 在Android工具链下,你会看到Java二进制文件:C:\Program Files\Android\jre\bin\java 现在复制这行代码并执行cd C:\Program Files\Android\jre\bin 输入keytool -exportcert -alias androiddebugkey -keystore "C:\Users\Username\.android\debug. keystore "base64 . keystore" | " openssl.exe的路径" sha1 -binary | " openssl.exe的路径

(需要双引号)

Enter keystore password: android(默认密码)

这将给你Key Hash。

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

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