This morning I woke up to this little message:
Error generating final archive: Debug certificate expired on 8/23/10 8:45 AM! AndroBlip.coffee Unknown Android Packaging Problem
Well, that was annoying. According to google this is expected after your debug key is a year old. I have no clue why this is; it doesn’t seem to have any purpose, but luckily they do find us a solution:
To fix this problem, simply delete the
debug.keystore
file. The default storage location for AVDs is in~/.android/avd
on OS X and Linux, inC:\Documents and Settings\\.android\
on Windows XP, and inC:\Users\\.android\
on Windows Vista.The next time you build, the build tools will regenerate a new keystore and debug key
This also seems to happen if you’re on a non-gregorian locale, but that’s not the case for me. Check out that google link for that one.
Minor note: running the program on the same virtual machine, gives you trouble with a new signing/debug key:
installation failed due to different application signatures.
You must perform a full uninstall of the application. WARNING: This will remove the application data!
Please execute ‘adb uninstall com.huiges.AndroBlip’ in a shell.
Launch canceled!
Just uninstalling the application in the virtual machine works fine.
It does however mean that if you work with a lot of test-data in your app, you’ll have to find a way to keep that around when uninstalling your app. As far as I know this is unavoidable when your key expires. This site comes up with a solution: create your own key with a much larger expiration date:
keytool -genkey -keypass android -keystore debug.keystore -alias androiddebugkey -storepass android -validity 10000 -dname "CN=Android Debug,O=Android,C=US"