当我使用命令时:

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

我得到这个错误:

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

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

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

任何帮助吗?


当前回答

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

其他回答

我正在使用gui工具,必须尝试谁不想使用密钥库命令行

它是用于创建密钥库的GUI工具。导出pem文件和lot

https://keystore-explorer.org/downloads.html

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

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

这是由于keytool.exe的路径没有设置。

在您的windows机器中打开命令提示符,转到您想运行keytool cmd的地方,然后设置keytool.exe存在的路径

步骤1:打开cmd提示符并运行

cd C:\Program Files\Java\jdk<your jdk version>\jre\lib\security

第二步:在cmd命令下运行,使用

set PATH=C:\Program Files\Java\jdk<your jdk version>\bin

第三步:运行keytool cmd,现在它将能够识别

keytool -list -alias <rest of the arguments>

对于windows 10,您需要访问C:\Program Files\Java\ jre1.8.0_161\bin

重新启动命令并打开

一个简单的错误解决方案是,首先需要在命令提示符中更改文件夹目录。默认在命令提示符或终端(在底部的Android studio内部)选项卡中 路径设置为 C:\Users#您选择的PC的名称\AndroidStudioProjects#应用程序名称\flutter_app> 相应的变化: C:\Users#您选择的PC的名称\AndroidStudioProjects#应用程序名称\flutter_app>cd\

输入**cd**(#在flutter_app>之后),只输入cd\而不是逗号

然后输入cd Program Files\Java\jre1.8.0_251\bin(#记得正确检查jre文件名)

现在输入keytool -list -v -keystore "%USERPROFILE%.android\debug。Keystore " -alias androiddebugkey -storepass android -keypass android(不带任何空格)。

要运行的代码的截图