关键工具错误:java.lang.Exception:仅允许一个命令:同时指定了 -exportcert 和 -list

24
Book-Pro:main vy$ keytool -exportcert -list -v \
> -alias androiddebugkey -keystore ~/.android/debug.keystore
keytool error: java.lang.Exception: Only one command is allowed: both 
-exportcert and -list were specified.

我正在尝试为一个Android Firebase项目在MBP上创建SHA1。 我按照Firebase控制台中的描述执行以下命令...

https://developers.google.com/android/guides/client-auth

keytool -exportcert -list -v \ -alias androiddebugkey -keystore ~/.android/debug.keystore

但是我遇到了错误。 keytool错误:java.lang.Exception: 只允许一个命令:同时指定-exportcert和-list。

我尝试手动输入此命令,以便消除浏览器的问题。 我安装了新的JDK......不确定出了什么问题。 请提供帮助。


1
我有点修复了它...但我仍然想要评论。 keytool -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore 注意我删除了-exportcert部分。然后我确实得到了一个sha1。 - IrishGringo
新的重复但措辞不同(我没有通过搜索找到这个问题)-因此将有助于更快地获得答案:https://stackoverflow.com/q/59505659/7483211 有趣的是,当您仅谷歌错误消息时,根本不会出现此问题-可能是因为错误消息是通用的,并且在其他情况下也会发生。 - Cornelius Roemer
3个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
29

我有点修好了它...但我仍然希望有评论。

对于Linux / UNIX操作系统:

keytool -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore 

对于 Windows 操作系统:

keytool -list -v -alias androiddebugkey -keystore %USERPROFILE%/.android/debug.keystore

注意,我删除了-exportcert这部分内容,然后我获得了一个sha1值。


3
尽管这确实给了我一个sha1,但是与我从signingReport gradle任务获取的sha1不同(参见 此处)。当我将此sha1添加到Google Cloud平台中(在我的情况下,用于Google登录),它显示为无效。如果有人有解决此问题的其他方法,我很乐意听取! - MathieuMaree
同意,我也遇到了同样的问题。 - Vitaly Zeyenko
你的命令是有效的,但这个命令已经在默认密码中添加了一个密码,这使得事情更少出错且更快:keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android - Cornelius Roemer

1

对于发布密钥,这个解决了我的问题。

keytool -list -v -keystore C:\Users\MG\Desktop\test.jks -alias test

0

以下命令已经生效。

keytool -keystore C:\Users\hp\.android\debug.keystore -list -v

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,