2012年5月18日金曜日

2012年版 Androidアプリ開発 SDK入れて一年すると発生するエラー "Debug certificate expired on ~"

2011年  Androidアプリ開発 SDK入れて一年すると発生するエラー "Debug certificate expired on ~"(2011/01/27) の2012年版追補です。

デバッグ版の キーストア "debug.keystore"の期限切れがやって参りました。
準備始めてから最後の確認するまで小一時間かかったので、
これを10分で済ませてしまおうと手順書き留めメモ(Windows手順)

1.「書き換えるべきキーストアの場所」
2.「新しいキーストアの生成方法」
3.「Google MAP用APIキー
4.「その他」

1.「書き換えるべきキーストアの場所」
  C:\Users\ユーザー名\.android\debug.keystore として存在します。
  以前はeclipse中のAndroid設定のダイアログにパスが表示されていたのですが、バージョンが変わって表示されなくなりました。

2.「新しいキーストアの生成方法」
  1.で確認した debug.keystoreを削除した後に適当なプロジェクトをリフレッシュする事で新しいキーストアが生成されます。

3.「Google MAP用APIキー」
  デバッグキーストアを変更すると、これに紐付けられているGoogle MAP API用APIキーも変更する必要があります。

APIキーの取得に必要な物と情報
  1.デバッグキーストアを元にしたMD5値:フィンガープリント
  2.フィンガープリント生成ツール keytool.exe
  3.keytool.exeのパス 
    javaインストールディレクトリ\bin\keytool.exeとして存在。
      c:\dev\jdk1.6.0_26\bin\keytool.exe

3-1.フィンガープリントの生成
  コンソール上で 
  keytool -list -keystore debug.keystore
  として実行する。パスワードはなしでOK












3-2.Android Maps API Key の生成
  交付URL にてAPIキーを取得
  リンク:Sign Up for the Android Maps API - Android Maps API - Google Code
  MD5値をコピペして「Generate API Key」を実行

3-3.APIキーの入れ替え
  デバッグ用のAPIキーのみを入れ替える。本番用の書換は必要なし。

3-4.地図表示の確認
  Googleマップを利用しているアプリで地図が正常に表示されるかを確認する。

4.「その他」***自分用のメモメモ***
  Androidアプリ改竄検知を行っているルーチンの値を入れ替え

  やること:
  Activity#isTrueSignature //デバッグモード用の署名を書き換えること
  値の生成方法はDropbox上の「キーストアの作り方.txt」を参照