Androidのkeytoolで文字化けする場合の対処方法
こんにちは、@9ensanです。
Google Maps Android APIを利用する場合、APIキーの発行にkeytoolを利用してMD5フィンガープリントを作成する必要があります。
keytoolはターミナルから実行するのですが、その際にMacだとほとんどの人が文字化けすると思います。
実行時に文字化けしているととても困るのでその解決方法を紹介います。
解決方法
原因:ターミナルの文字コードが「Shift JIS」になっていない。
修正方法1:javaのオプションを設定する
ターミナルで以下のコマンドを打つ
export _JAVA_OPTIONS="-Dfile.encoding=UTF-8"
ただしこの方法だと、javaコマンドを利用する際に
Picked up _JAVA_OPTIONS: -Dfile.encoding=UTF-8
というエラーメッセージが表示されてしまう。
なので、aliasを設定する
alias java="java -Dfile.encoding=UTF-8"
こうすると、メッセージも表示されません。
これを毎回打つのが面倒なら、「.bashrc」などに記述することで対応できます。
※javacなどもShift JISなので、必要なものは全てalias宣言する必要がります。
修正方法2:ターミナルの文字コードを「Shift JIS」に変更します。
殆どの人がターミナルの文字コードは、「UTF-8」にしていると思います。
その場合、文字化けするので、keytoolを利用するときだけターミナルの文字コードを「Shift JIS」に変更します。
ターミナルのメニューから「ターミナル」→「環境設定」を選択します。
「設定」タブを選択し、「文字エンコーディング」を「Shift JIS」に変更して環境設定のウインドウを閉じます。
これで、keytoolを利用しても文字化けが起こる事はなくなります。
Macでkeytoolを利用しようとした場合にいつもあっ!って思う。
なんでjavaの文字コードデフォルトで「Shift JIS」なんだよ。
.
関連する記事:
- 「Vimをつかってくれてありがとう」を表示させないようにする方法
- MacでターミナルからFinderを開くコマンド「open」
- Eclipseでimportされていないクラスのimport追加ショートカット
- [Android] プログラム中でstrings.xmlの文字列を取得する方法
- macで「Vim: Caught deadly signal SEGV」でvimが落ちる対処方法
コメント 0