当我使用命令时:

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

我得到这个错误:

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

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

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

任何帮助吗?


当前回答

给:

keytool -list -keystore ~/.android/debug.keystore

在您的行中,密钥库中还有一个空间。请核对一下。

其他回答

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

 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 

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

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

我的例子是,不管我在哪里调用它,不管我是否路径文件,如果我用powershell打开它,它都不起作用。

但如果我用cmd打开它,它就会工作。

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