如何解决:Android中 Error generating final archive: Debug Certificate expired on 的错误

问题概述:

突然有一天,eclipse中的android项目全都被打了个红红的叉,根据以往的经验,这很有可能是build path那里出了问题,结果捣鼓了好几天也没解决。不停的重装SDK,重装ADT,就在我几近崩溃的那一刻。我决定换个Eclipse,就在我满怀希望的那一刻,我发现问题还是没有解决。后来我灵机一动,换了个workspace,虽然红叉还在,但是起码我只看到错误报告里只显示了这么一行:
“Error generating final archive: Debug Certificate expired on XX/XX/XX XX:XX”
后来才知道意思是:打包失败,调试签名过期:XX/XX/XX XX:XX
看来我是英语不过关啊。。。

原因分析:

android要求所有的程序必须有签名,否则就不会安装该程序。在我们开发过程中,adt使用debug keystore,在 preference->android->buid中设置。debug的keystore默认有效期为一年,如果你是从一年前开始完android程序,那么在一年后导入这个app的时候很可能出现debug keystore过期,导致你无法生成 apk文件。

此时你只要删除debug keystore就行,系统又会为你生成有效期为一年的私钥。



解决方法:

进入C:\Documents and Settings\Administrator\.android 删除路径下的debug.keystore(有网友说也要删除ddms.cfg,好像不用 ?)

(不同环境下的目录可能略有不同,可在eclipse中查找此路径:Window->Preferences->Android->Build下 Default debug keystore)


当我发现红叉叉在项目重新build后一个一个的从项目上消失时,我激动地湿了

你可能感兴趣的:(certificate)