当我使用以下命令:
C:\>keytool -list -alias androiddebugkey
-keystore .android\debug.keystore
-storepass android -keypass android
我遇到了这个错误:
'keytool' 不是内部或外部命令,也不是可运行的程序或批处理文件。
我无法在电脑上获取证书指纹(MD5)。
我已确保密钥库文件位于正确的位置。
有任何帮助吗?
flutter doctor -v
Java binary at: 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" | "Location to openssl.exe" sha1 -binary | "Location to openssl.exe" base64
(双引号是必需的)
这将给您Key Hash。
现在,
如果您正在尝试获取您的SHA指纹,这是获取它的最简单的方法 -->
步骤1:在项目目录中打开终端
步骤2:输入cd android
步骤3:运行".\gradlew signingReport"
完成!
我的情况是,无论我是否传递文件路径,在哪里调用它都不起作用,如果我使用PowerShell打开它。
但是如果我使用cmd打开它,它就可以工作。
keytool 命令可能不在您的路径中 - 它是作为 Android Studio 的一部分安装的 Java 的一部分。要获取具体路径,请运行 flutter doctor -v 并查找在“Java binary at:”后面打印的路径。然后使用该完全限定路径替换 java(末尾处)。如果您的路径包含空格分隔的名称,例如 Program Files,请使用适合平台的符号表示名称。例如,在 Mac/Linux 上使用 Program\ Files,在 Windows 上使用 "Program Files"。
程序运行正常
前往路径
C:\Program Files\Java\jre7\bin> keytool -exportcert -alias androiddebugkey -keystore "C:\Users\Developer\.android\debug.keystore"
然后输入Ketsore密码,任务完成!
打开高级系统设置-->打开环境变量-->在系统变量中双击 "Path"-->从C:中复制您的jdk路径,应该是这样的:"C:\Program Files\Java\jdk-15.0.2\bin",然后粘贴到单击“新建”后-->点击确定,然后重新启动Android Studio,这应该解决问题。
打开命令提示符 输入以下内容..
"c:\Program Files(x86)\Java\jdk1.7.0\bin\keytool.exe" -list -v -alias androiddebugkey -keystore "C:\Users\EIS.android\debug.keystore" -storepass android -keypass android
然后按回车键,将获得MD5和SHA1密钥
对于 Windows 10,您需要设置路径为 C:\Program Files\Java\jre1.8.0_161\bin
重新启动命令并打开。
PATH
问题是一个常见的FAQ;一旦你理解了问题的本质,就不难为Linux等系统找到答案。基本上,如果你还没有安装keytool
,就先安装它;然后,如果它被安装在的目录不在你的PATH
中,就把它加进去。 - tripleee