Chrisの梳羽之礁

A look of quick intelligence and soft refinement
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

[转] Android:Debug certificate expired on DATE 解决方法

Posted on 2012-06-08 21:56  Chrisfang6  阅读(181)  评论(0编辑  收藏  举报

原文:Android:Debug certificate expired on DATE 解决方法

Eclipse中编译Android工程时,提示错误 :Error generating final archive: Debug certificate expired on xxxxxx(日期)

解决办法:
进入:C:/Documents and Settings/USER(用户账户)/.android ,删除:debug.keystore和ddms.cfg
 
 
 
English blog
 

Once in a while the SDK shows some hickups – usually easy to solve. As this one. Today i got this error message “Error generating final archive: Debug certificate expired on …” while building an apk file inside Eclipse to be run in the emulator on a machine which has not been used for a while.

 

If you are using IntelliJ 9 with the Android plugin the error message looks like this:

 

Well, the idea to just update all components to the current state and then to compile a project to check it out on this backup development system went from a 10 min cruise to the unexpected question “Whats wrong?”.

Looking at the error message it was clear that the build process wanted to use a certificate which timed out. The Android SDK is using certificates to sign all the apk files even ther files which run in the emulator (fair enough). The cert is usually valid for just 365 days which means that you get the same error next time shortly after forgetting how you’d solve it last time.

The simple solution is to just delete the file “debug.keystore ” which is stored in your home directory under “~/.android ” (OSX, Linux). A Windows Vista/7  user will find the file in the “C:/Users/<user</.android folder.

android debug cert err3

After deleting the file just “clean” your project and build int from scratch and the error should be gone.

To prevent this brain training procedure for a while a decided to generate a key which lasts 1000 days instead of just the full year. Startup the OSX terminal app or the Linux terminal and go to the “.android” folder. Delete the old certificate file first. Then issue the following command from the command line:

keytool -genkey -keypass android -keystore debug.keystore -alias androiddebugkey -storepass android -validity 1000 -dname “CN=Android Debug,O=Android,C=US”

Now there should be a new certificate file sitting in the folder which lasts 1000 days – enough to really forget how you solved this issue last tim