ある日突然、「Error generating final archive: Debug certificate expired on …」というエラーメッセージが表示され、Androidアプリのコンパイルが出来なくなったときの解決方法は?
皆さんは、上記のエラーメッセージが突然表示されだして、Androidアプリのコンパイルが突然出来なくなった!という経験は御座いますでしょうか。
私は、自分が作ったAndroidアプリの機能追加でもしてみようかと思って、結構久しぶりにEclipseを立ち上げて、アプリをコンパイルしてみたら、突然上記のエラーメッセージが出てコンパイルできなくなってたので、めちゃくちゃ焦りました。
調べてみると、結果的に、この経験は、Androidの勉強を始めてめでたく1年が経過した、という事で、ある意味おめでたい事なのですが、解決できなくては、Androidアプリのコンパイルが出来ないので、困りますよね。
ここでは、上記のエラー発生時の対処方法を紹介したいと思います。
冷静にエラーメッセージを読めば、何かしらの証明書の有効期限が切れた、という事は想像できる方もおられるかと思います。
その通り、何かしらの証明書の有効期限が切れたので、このエラーは出ています。
その何かしらというのは、以下のディレクトリにあるファイルです。
ディレクトリ:C:\Documents and Settings\(Windowsユーザ名)\.android
ファイル:debug.keystore
(Windows XPなら、上記のディレクトリにありますが、VistaやWindows 7なら、正確にはちょっと違うディレクトリになるかと思います。)
解決策は簡単です。
上記のdebug.keystoreを削除するだけです。
その後、念の為、全プロジェクトを再コンパイルさせておくとよいでしょう。
一番簡単な手順は、Eclipseを使って以下のような手順を行えばOKです。
メニュー->「Project」->「Clean」でOKです。
画像で説明すると以下のような感じです。
debug.keystoreの証明書の有効期限が1年に設定されているらしいので、このようになるみたいです。
これだけでまた元通りコンパイルが通るようになります。