当我使用以下命令:
C:\>keytool -list -alias androiddebugkey
-keystore .android\debug.keystore
-storepass android -keypass android
我遇到了这个错误:
'keytool' 不是内部或外部命令,也不是可运行的程序或批处理文件。
我无法在电脑上获取证书指纹(MD5)。
我已确保密钥库文件位于正确的位置。
有任何帮助吗?
这是由于 keytool.exe 的路径未设置。
在 Windows 机器上打开命令提示符,进入您希望运行 keytool 命令的位置,然后设置 keytool.exe
所在的路径。
步骤 1:打开命令提示符并运行以下命令:
cd C:\Program Files\Java\jdk<your jdk version>\jre\lib\security
步骤二:运行以下命令来设置路径:
set PATH=C:\Program Files\Java\jdk<your jdk version>\bin
第三步: 运行keytool命令,现在它将能够识别。
keytool -list -alias <rest of the arguments>
确保JAVA_HOME已设置,并且环境变量中的路径反映了JAVA_HOME的bin目录。基本上,PATH应该能够在您的jdk位置找到keytools.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
然后在命令提示符中复制并粘贴以下代码
keytool -list -v -keystore "C:\Users\user\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
C:\Program Files\Java\jre6\bin\
- 执行keytool -list -alias androiddebugkey keystore <full directory name make sure that you use enclosing in quotes> -storepass android -keypass android
B)C:\Program Files\Java\jre6\bin\
添加到你的PATH
变量中我正在使用GUI工具,必须尝试使用不需要使用命令行的密钥库(keystore)。
这是一个GUI工具,用于创建 keystore.jks 和导出 pem 文件等操作。
给:
keytool -list -keystore ~/.android/debug.keystore
另外,在你的代码行中,keystore 中有一个空格。请检查一下。
我知道已经有几个答案了,但是它们都对我没用,所以我发布了一个对我有用的答案,可能对某些人有帮助。
首先,keytool.exe所在的目录必须在路径上。
如果路径不在路径上,会出现错误,请尝试将命令行启动为普通用户,而不是管理员,或将目录更改为主目录。
PATH
问题是一个常见的FAQ;一旦你理解了问题的本质,就不难为Linux等系统找到答案。基本上,如果你还没有安装keytool
,就先安装它;然后,如果它被安装在的目录不在你的PATH
中,就把它加进去。 - tripleee