デバッグ用のキーの期限が切れたためGoogle Mapが表示されないときの対処法(Android)
デバッグ用のGoogle Maps APIのキーを発行してから1年が過ぎると、有効期間が切れるようだ。
デバッグ実行しようとすると、eclipseのコンソールにログに以下のエラーメッセージが出て地図が表示されない。
Description Resource Path Location TypeError generating final archive: Debug Certificate expired on 12/03/13 16:30
以下の手順で証明書を再発行する。
(1) keytoolを使って証明書のフィンガープリントを生成する
$ keytool -list -alias androiddebugkey -keystore <debug.keystoreの場所> -storepass android -keypass android androiddebugkey, 2012/03/13, PrivateKeyEntry, ?ؖ????̃t?B???K?[?v?????g (MD5): 87:53:EF:2D:14:D6:D7:B4:4E:41:C1:E2:FD:E9:03:B4
Mac OS Lionではコンソールの文字が化けたが、動作には影響なかった。
debug.keystoreの場所は、Mac OSの場合は「~/.android/debug.keystore」がデフォルト。Windowsでは以下の通り。
- Windows Vista: C:\Users\
\.android\debug.keystore - Windows XP: C:\Documents and Settings\
\.android\debug.keystore
(2) Googleのページで証明書のフィンガープリントを入力してキーを発行する
次のURLにアクセスして先ほどのフィンガープリントを入力すれば、Android Maps APIのキーが表示される。
http://code.google. com/android/maps-api-signup.html
(3) これまで使っていたキーを置き換える
XMLファイルなどに書かれているキーを置き換える。