I am using Eclipse Android plugins to build a project, but I am
getting this error in the console window:
[2010-02-03 10:31:14 - androidVNC]Error generating final archive: Debug certificate expired on 1/30/10 2:35 PM!
How do I fix it?
Delete your debug certificate under
~/.android/debug.keystore on Linux and Mac OS X; the directory is something like
The Eclipse plugin should then generate a new certificate when you next try to build a debug package. You may need to clean and then build to generate the certificate.
Upon installation, the Android SDK generates a
debug signing certificate for you in a keystore called
debug.keystore. The Eclipse plug-in uses this certificate to sign each application build that is generated.
Unfortunately a debug certificate is only valid for 365 days. To generate a new one you must delete the existing
debug.keystore file. Its location is platform dependent – you can find it in Preferences – Android – Build – Default debug keystore.
It’s a pain to have to delete all your development .apk files, because the new certificate doesn’t match so you can’t upgrade them in all your AVDs. You have to get another development MAP-API key as well. There’s another solution.
You can create your own debug certificate in
debug.keystore with whatever expiration you want. Do this in the
.android folder under your
keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 14000
keytool.exe can be found in the JDK bin folder (e.g.
C:\Program Files\Java\jdk1.6.0_31\bin\ on Windows).
ADT sets the first and last name on the certificate as “Android Debug”, the organizational unit as “Android” and the two-letter country code as “US”. You can leave the organization, city, and state values as “Unknown”. This example uses a validity of 14000 days. You can use whatever value you like.