祝 Androider1周年

今日、自宅のPCでAndroidプロジェクトを実行しようとすると、以下のエラーが発生した。

Error generating final archive: Debug Certificate expired on 10/11/24 16:45

これが噂には聞いていたdebug.keystoreの有効期限切れだ。私がAndroidSDKを使い始めて1年経ったということなのだ。

E:\android\keystore>keytool -v -list -keystore debug.keystore
キーストアのパスワードを入力してください:

キーストアのタイプ: JKS
キーストアのプロバイダ: SUN

キーストアには 1 エントリが含まれます。

別名: androiddebugkey
作成日: 2009/11/24
エントリタイプ: PrivateKeyEntry
証明連鎖の長さ: 1
証明書[1]:
所有者: CN=Android Debug, O=Android, C=US
発行者: CN=Android Debug, O=Android, C=US
シリアル番号: 4b0b8f02
有効期間の開始日: Tue Nov 24 16:45:06 JST 2009 終了日: Wed Nov 24 16:45:06 JST 2010
証明書のフィンガープリント:
         MD5:  45:57:DD:D2:4F:15:1C:26:67:00:88:DF:57:CF:AE:5D
         SHA1: CB:7A:CF:30:36:CB:CC:99:86:83:77:BD:E1:A6:72:3D:C8:16:B8:77
         署名アルゴリズム名: SHA1withRSA
         バージョン: 3
*******************************************
*******************************************

正しく去年の11/24に作ったキーストアであることが解る。

解決方法はFAQだが以下の二つ。

1. 新たなキーストアを作る
2. debug.keystoreを削除する

2.の場合、再度期限が1年でキーストアが作成されるので、それが嫌な人は1.で自分の好きな期限にすることをお勧めする。

例) 期限1800日でdebug.keystoreを作成する

keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -validity 1800 -dname "CN=Android Debug,O=Android,C=US"