我的 Windows 名称中有一个 space(C:\Users\Jim Johnson 之类的)并且无法执行 keytool 来获取 SHA1 密钥

I have a space in my Windows name (C:\Users\Jim Johnson like that) and cannot execute keytool to get SHA1 key

我正在尝试获取 Firebase 的 SHA1 密钥并尝试使用命令

Jim Johnson 是个假名顺便说一句

keytool -list -v -keystore C:\Users\Jim Johnson\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android

而且我几乎检查了所有其他内容(keytool 工作和环境变量都检查了)但是我得到一个错误

Illegal option:  Johnson\.android\debug.keystore
keytool -list [OPTION]...

Lists entries in a keystore

Options:

 -rfc                    output in RFC style
 -alias <alias>          alias name of the entry to process
 -keystore <keystore>    keystore name
 -cacerts                access the cacerts keystore
 -storepass <arg>        keystore password
 -storetype <type>       keystore type
 -providername <name>    provider name
 -addprovider <name>     add security provider by name (e.g. SunPKCS11)
   [-providerarg <arg>]    configure argument for -addprovider
 -providerclass <class>  add security provider by fully-qualified class name
   [-providerarg <arg>]    configure argument for -providerclass
 -providerpath <list>    provider classpath
 -v                      verbose output
 -protected              password through protected mechanism

Use "keytool -?, -h, or --help" for this help message

我认为是因为我的名字中有一个 space。还没有看到我看过的教程中的人在他们的名字中使用 space。

有什么方法可以解决这个问题?

引用。 "C:\Users\Jim Johnson\.android\debug.keystore" 会完成任务的。

如果您使用的是 android studio,您可以通过打开项目并从右侧栏中选择 Gradle 轻松找到您的 SHA-1 密钥(见下图)。 Gradle应该可以在右边选择。

接下来,按照文件夹路径 Tasks -> android 然后双击 signingReport。

Android studio 应该会为您提供几个密钥,其中之一就是您正在寻找的 SAH-1。这比使用命令行要容易得多。