【Windows】keytoolで署名作成時に文字化けする時の対処

1070 ワード

普段Javaを使わないせいでKeyTool関連で少々迷ったため備忘録。

Windowsでも文字化けする

AndroidアプリをGoogle Play Storeで配信したい時に自己署名をする必要があり、その際にAndroidStudioを使えばいいのだが、導入してなかったのでコマンドラインの問題が起きてKeytoolを使った。
するとどうやら文字コードがShiftJISだったらしく文字化け。

文字化けするときの対処が書いてある記事は多かったがMacOSの例ばっか。しかも、どれも環境変数を追加したりと普段Java触らない人からしたら面倒。
そこで解決。

設定をいじらない解決法

コマンドライン引数でUTF-8を使いますよーと明記すればいいとのこと。Javaで書かれたコマンドラインツールなら全て共通らしい。
ここで重要なのがPowerShellではなくコマンドプロンプトを使う点。

> keytool -genkey -J-Dfile.encoding=UTF-8

これで文字化けが治る。めでたしめでたし。
去年に同様の問題が起きて必死に手作業でShiftJISをUTFに変換してたなんて言えない