コマンド出力時のエンコードがUTF-8ではなく、SJISになっていることが原因。Appleが配布しているMac用のJavaの問題と思われ。
文字化けを解消するには、環境変数_JAVA_OPTIONSを指定してUTF-8のエンコードを指定する。
$_JAVA_OPTIONS='-Dfile.encoding=UTF-8' keytool -genkey -v -keystore .android/CUSTOM_debug.keystore -alias androiddebugkey -keyalg RSA -validity 10000 -dname "CN=Android Debug, O=Android,C=JP"
※CUSTOM_debug.keystoreは任意の名前に置き換え
生成済みの証明書を確認する際も、文字化けを防ぐためにオプションを指定する。
$_JAVA_OPTIONS='-Dfile.encoding=UTF-8' keytool -exportcert -alias androiddebugkey -keystore .android/CUSTOM_debug.keystore -list -v
パスワードを入力すると、以下のように生成済みの証明書が表示される。
複数の開発マシーンでデバッグキーを共有するとちょっと便利
ちなみに、作成した.keystoreファイルを複数の開発マシーンで共有すると、同じデバイス宛へアプリを上書きインストールする際にも便利。
通常、同じデバイスに複数の開発マシーンからデバッグビルドでアプリを上書きインストールすると、開発マシーン毎に証明書が異なるので、アプリのアップデートができず、一度アプリをアンインストールしなければならない。
デバッグ用証明書を共有しておくと、アンインストールせずにアプリのアップデートができる。
Mac OS Xの場合、Eclipseのメニューから、「環境設定」→「Android」→「Build」→「Custom Debug keystore」に共通のデバッグ用証明書を設定すればOK。
0 件のコメント:
コメントを投稿