我正在使用EclipseAndroid插件来构建一个项目,但我在控制台窗口中获取此错误:

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

如何修复?


当前回答

在Eclipse中安装AndroidSDK后,它会在一个名为debug.keystore的密钥库中为您生成一个调试签名证书。Eclipse插件使用该证书对生成的每个应用程序版本进行签名。

现在,这个调试证书的问题是它只在一年或365天内有效。如果您的EclipseIDE使用过期的调试证书,您将无法创建和/或部署Android应用程序。

要解决此问题,只需删除debug.keystore文件。

转到首选项安卓建筑默认调试密钥库

在那里,您应该可以看到文件所在的文件夹。只需删除该文件,您就可以离开了。

了解更多信息。您可以访问

http://developer.android.com/tools/publishing/app-signing.html

其他回答

删除位于C:\Users\%Username%\.android文件夹中的debug.keystore。然后运行应用程序。它将生成新的。

在Vista上,这是有效的:

DOS:del c:\user\dad\.android\debug.keystoreECLIPSE:在项目中,清理项目。关闭Eclipse。重新打开Eclipse。ECLIPSE:启动仿真器。从仿真器中删除应用程序。

你可以走了。

当我说这个错误时,我非常担心,但我通过阅读这里并在周围玩了10分钟来解决了这个问题。

如果证书在项目调试过程中过期,则必须手动卸载:

请执行adb在shell中卸载<package_name>。

必须删除所有development.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将证书上的名字和姓氏设置为“AndroidDebug”,组织单位设置为“Android”,两个字母的国家代码设置为“US”。您可以将组织、城市和州值保留为“未知”。此示例使用14000天的有效期。你可以使用你喜欢的任何价值。

要解决此问题,只需删除debug.keystore文件。

AVD的默认存储位置为

在OS X和Linux上的~/.android/中。在Windows XP上的C:\Documents and Settings\.android\中在Windows Vista和Windows 7上的C:\Users\.android\中。

另请参阅此链接,这可能会有所帮助。

http://developer.android.com/tools/publishing/app-signing.html