次のコマンドを使用して、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.base/Java.util.Formatter $ FormatSpecifier.failConversionのJava.lang.String (Formatter.Java:4331)at Java.base/Java.util.Formatter $ FormatSpecifier.printInteger(Formatter.Java:2846)at Java.base/Java.util.Formatter $ FormatSpecifier.print(Formatter.Java:2800)at 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 Java.base/Sun.security.tools.keytool.Main.printX509Cert(Main.Java: 3182)Java.base/Sun.security.tools.keytool.Main.doPrintEntry(Main.Java:1995)at Java.base/Sun.security.tools.keytool.Main.doCommands(Main.Java:1212)at 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パッケージはありませんか?I Java SDK 9.0.1を使用しています
この問題は、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
こちらの私の答えも参照してください: https://stackoverflow.com/a/47181882/5292951