我试图使用以下命令在macos sierra上找到我的签名密钥库的SHA1哈希值:
keytool -exportcert -alias androiddebugkey -keystore $HOME/.android/debug.keystore -list -v -storepass android
结果如下所示:
别名:androiddebugkey
创建日期:2017年10月25日
输入类型:PrivateKeyEntry
证书链长度:1
证书[1]:
keytool错误: java.util.IllegalFormatConversionException:d!= java.lang.String java.util.IllegalFormatConversionException:d!= java.lang.String at java.base / java.util.Formatter中$ FormatSpecifier.failConversion(Formatter.java:4331) 在 java.base / java.util.Formatter中$ FormatSpecifier.printInteger(Formatter.java:2846) 在 java.base / java.util.Formatter中$ FormatSpecifier.print(Formatter.java:2800) 在java.base / java.util.Formatter.format(Formatter.java:2581)at java.base / java.util.Formatter.format(Formatter.java:2517)at java.base / java.lang.String.format(String.java:2747)at java.base / sun.security.tools.keytool.Main.withWeak(Main.java:3151)at at java.base / sun.security.tools.keytool.Main.printX509Cert(Main.java:3182) 在 java.base / sun.security.tools.keytool.Main.doPrintEntry(Main.java:1995) 在 java.base / sun.security.tools.keytool.Main.doCommands(Main.java:1212) 在java.base / sun.security.tools.keytool.Main.run(Main.java:397)at java.base / sun.security.tools.keytool.Main.main(Main.java:390)
据我所知,该命令正在运行,它不是文件的问题,也没有密码,在我看来java中的一个内部错误,是不是有些java包?我正在使用Java SDK 9.0.1
答案 0 :(得分:94)
我发现问题来自JDK8.151
和JDK9
中的最新版Keytool。默认情况下keytool
使用系统默认语言,并且在某些语言上似乎不再正常工作(在我的例子中是法语)。
使用参数-J-Duser.language=en
所以请尝试使用此命令行:
keytool -J-Duser.language=en -exportcert -alias androiddebugkey -keystore $HOME/.android/debug.keystore -list -v -storepass android