协慌网

登录 贡献 社区

Eclipse Android 插件中的 “调试证书已过期” 错误

我正在使用 Eclipse Android 插件来构建项目,但是我在控制台窗口中收到此错误:

[2010-02-03 10:31:14 - androidVNC]Error generating final archive:
Debug certificate expired on 1/30/10 2:35 PM!

我如何解决它?

答案

删除Linux 和 Mac OS X~/.android/debug.keystore下的调试证书; 该目录类似于Windows上的%USERPROFILE%/.android

然后,当您下次尝试构建调试包时,Eclipse 插件应生成新证书。您可能需要清理然后构建以生成证书。

安装后,Android SDK 会在名为debug.keystore的密钥库中为您生成debug签名证书。 Eclipse 插件使用此证书对生成的每个应用程序构建进行签名。

不幸的是,调试证书仅在 365 天内有效。要生成新的,您必须删除现有的debug.keystore文件。它的位置取决于平台 - 你可以在Preferences - Android - Build - Default debug keystore 中找到它。

删除所有开发. apk 文件是一件痛苦的事,因为新证书不匹配,因此您无法在所有 AVD 中升级它们。您还必须获得另一个开发 MAP-API 密钥。还有另一个解决方案。

您可以在debug.keystore创建自己的调试证书,其中包含您想要的任何到期日期。在HOME目录下的.android文件夹中执行此操作:

keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 14000

keytool.exe可以在 JDK bin 文件夹中找到(例如 Windows 上的C:\Program Files\Java\jdk1.6.0_31\bin\ )。

ADT 将证书上的名字和姓氏设置为 “Android Debug”,将组织单位设置为 “Android”,将双字母国家 / 地区代码设置为 “US”。您可以将组织,城市和州值保留为 “未知”。此示例使用 14000 天的有效期。你可以使用你喜欢的任何价值。