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!

我该怎么修?

278013 次浏览

几周前我遇到了这个问题。我第一次在Android开发者网站上尝试了故障排除,但没有运气。之后我重新安装了Android SDK,这解决了我的问题。

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

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

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

不幸的是,调试证书仅在365天内有效。要生成新证书,您必须删除现有的debug.keystore文件。它的位置取决于平台-您可以在首选项-Android-构建-默认调试密钥库中找到它。

在Vista上,这是有效的:

  1. DOS:del c:\user\dad\.android\debug.keystore

  2. ECLIPSE:在Project中,清理项目。关闭Eclipse。重新打开Eclipse。

  3. ECLIPSE:启动模拟器。从模拟器中删除应用程序。

你可以走了。

当我说这个错误时,我很担心,但我在这里阅读并玩了10分钟后修复了它。

H-m-m-m。有趣的是,这么多人对此的体验略有不同。我记得有一天,这被认为是软件未被封包的迹象,团队实际上会在用户开始看到这些问题之前修复它:(

我自己的经验只是有点不同。我已经尝试过Project>Clean,但仍然得到同样的构建失败。然后我删除了debug.keystore(在. android下),就像第一个答案所说的那样。仍然有同样的问题。然后我又做了一次清理,奇迹中的奇迹,它奏效了!

现在不要误会我的意思,我很高兴由于这个线程中的提示,我使它正常工作。但显然,干净不能正常工作,在我删除密钥库后,它是如何找到过期密钥的???显然,Eclipse或ADT出了问题——不太确定是哪个。

必须删除所有开发. 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天的有效期。您可以使用任何您喜欢的值。

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

请执行adb uninstall <package_name>在shell中。

在Mac上,打开终端(应打开当前用户的目录),cd“. android”(“ls”以验证debug.keystore是否存在)。最后“rmdebug.keystore”删除文件。

  • WINDOWS

删除:debug.keystore位于C:\Documents and Settings\\[user]\.android,清理并构建您的项目。

  • Windows 7转到#0并删除debug.keystore文件。

清理并构建您的项目。

  • MAC

删除位于#0 Clean中的密钥库并构建您的项目。

在所有选项中,如果您无法获得新debug.keystore只需重新启动eclipse。

在Ubuntu上,这是有效的:

我转到home/username/.android并将keystore.debug重命名为keystoreold.debug。然后我关闭Eclipse,启动Eclipse,SDK在该文件夹中创建新的证书keystore.debug

然后,您必须卸载/重新安装通过USB调试或未签名APK(“未签名”APK=使用调试证书签名)安装的应用程序。

在Windows 7中,它位于路径

C:\Users\[username]\.android
  • 转到此路径并删除debug.keystore
  • 清理并构建您的项目。

Android SDK在名为debug.keystore的密钥库中为您生成一个“调试”签名证书。Eclipse插件使用此证书对生成的每个应用程序版本进行签名。

不幸的是,调试证书仅在365天内有效。要生成新证书,您必须删除现有的debug.keystore文件。它的位置取决于平台-您可以在偏好->android->构建->*默认调试密钥库中找到它。

如果您使用的是Windows,请按照以下步骤操作。

DOS: del c:\user\dad.android\debug.keystore

Eclipse:在Project中,清理项目。关闭Eclipse。重新打开Eclipse。

Eclipse:启动模拟器。从模拟器中删除应用程序。

如果您使用的是Linux或Mac,请按照以下步骤操作。

手动从.android文件夹中删除debug.keystore

您可以像这样找到.android文件夹:home/username/.android

注意:默认的.android文件将被隐藏。

因此,单击位置菜单。在选择主文件夹下。在单击视图下,单击显示隐藏文件,然后.android文件夹将可见。

.android folder中删除debug.keystore

然后清理您的项目。现在Android将生成一个新的.android folder文件。

对于windows xp,转到C:\Documents and Settings\%userprofile%\.android并删除debug.keystore文件,重新启动eclipse,现在您的项目可以无错误地构建。

路径示例:

C:\Documents and Settings\raja.ap\.android\

阅读更多

在Windowsdebug.keystore中,文件位于C:\Users\%Username%\.android文件夹中。此文件是在您安装android SDK时创建的,有效期仅为一年。在此之后,您将开始收到此错误Error getting final archive: Debug certificate expired on xx/xx/xxxx

要删除此错误,只需删除文件并再次运行程序。在我的Eclipse中,我启用了Project->Build Automatically,因此它直接工作,但如果您禁用了它,则需要清理项目Project->Clean…选择您的项目并按ok。然后您需要手动构建它。第三次单击您的项目并选择Build project。(注意-只有在项目菜单中禁用自动构建功能时,您才会看到此选项)

先关日食吧

通过Windowskey+r或通过以管理员身份运行打开CMD

遵循以下步骤

del "%USERPROFILE%\.android\debug.keystore"keytool -genkey -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 30000

在这次重新启动Eclipse之后。

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

AVD的默认存储位置是

在~/. android/OS X和Linux。

在Windows XP上的C:\文档和设置\. android\中

在Windows Vista和Windows 7上的C:\用户\. android\中。

看看这个链接,它可能会有帮助。

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

现在,这个调试证书的问题是它只在一年或365天内有效。If your Eclipse IDE uses an expired debug certificate, you will not be able to create and/or deploy an Android app

要解决此问题,您需要做的就是删除debug.keystore文件。

  1. Go to Preferences
  2. Android
  3. Build
  4. Default debug keystore

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

更多信息,您可以访问

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

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