Androidのkeytoolで文字化けする場合の対処方法


こんにちは、@9ensanです。

android-keytool-error-01

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」に変更します。

ターミナルのメニューから「ターミナル」→「環境設定」を選択します。
android-keytool-error-02

「設定」タブを選択し、「文字エンコーディング」を「Shift JIS」に変更して環境設定のウインドウを閉じます。
android-keytool-error-03

これで、keytoolを利用しても文字化けが起こる事はなくなります。
android-keytool-error-04

Macでkeytoolを利用しようとした場合にいつもあっ!って思う。
なんでjavaの文字コードデフォルトで「Shift JIS」なんだよ。

.

関連する記事:

Facebookでコメント

コメント

  1. コメント 0

  1. 2013年 2月20日
*

return top