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

时间:2010-02-03 19:26:15

标签: android eclipse certificate

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

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

我该如何解决?

18 个答案:

答案 0 :(得分:2219)

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

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

答案 1 :(得分:328)

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

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

答案 2 :(得分:241)

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

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

keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 14000
可以在JDK bin文件夹中找到

keytool.exe(例如Windows上的C:\Program Files\Java\jdk1.6.0_31\bin\)。

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

答案 3 :(得分:77)

在Vista上,这有效:

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

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

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

  4. 你很高兴。

    当我说出错误时,我非常担心,但是我在阅读这里并且玩了10分钟后修复了它。

答案 4 :(得分:66)

  • WINDOWS

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

  • Windows 7 转到 C:\Users\[username]\.android 并删除debug.keystore文件。

清理并构建您的项目。

  • MAC

删除位于 ~/.android/debug.keystore 中的密钥库。清理并构建项目。

在所有选项中,如果你不能获得新的debug.keystore,只需重新启动eclipse。

答案 5 :(得分:53)

在Windows 7中,它位于路径

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

答案 6 :(得分:40)

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

请执行 shell中的adb uninstall <package_name>

答案 7 :(得分:36)

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

答案 8 :(得分:34)

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

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

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

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

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

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

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

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

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

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

所以点击“地点”菜单。在选择主文件夹下。在单击视图下,单击显示隐藏文件,然后将显示.android文件夹。

debug.keystore删除.android folder

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

答案 9 :(得分:31)

在Ubuntu上,这有效:

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

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

答案 10 :(得分:31)

几周前我遇到了这个问题。我首先尝试了Android开发者网站上的troubleshooting,但没有运气。之后我重新安装了Android SDK,解决了我的问题。

答案 11 :(得分:31)

H-M-M-M有趣的是,这么多人的经历与此略有不同。我记得那些被认为是软件尚未准备好发布的迹象,并且团队会在用户开始看到这些问题之前实际修复它:(

我自己的经历略有不同。我已经尝试了Project&gt; Clean,但仍然遇到了相同的构建失败。然后我就像第一个回答所说的那样删除了debug.keystore(在.android下)。仍有同样的问题。然后我再次干净了,奇迹奇迹,它有效!

现在不要误会我的意思,我很高兴我得到了它,感谢这个帖子中的提示。但显然干净不正常,在删除密钥库后它是如何找到过期密钥的?显然,Eclipse或ADT出了问题 - 不太确定。

答案 12 :(得分:13)

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

示例路径:

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

read-here-for-more

答案 13 :(得分:12)

在Windows debug.keystore文件中是C:\Users\%Username%\.android文件夹中的localtes。安装Android SDK时会创建此文件,该文件仅在一年内有效。完成此操作后,您将开始收到此错误Error getting final archive: Debug certificate expired on xx/xx/xxxx

要删除此错误,只需删除该文件并再次运行该程序。在我的Eclipse中,我已启用Project->Build Automatically,因此它可以直接使用,但如果您已禁用它,则需要清理项目Project->Clean ..选择您的项目并按确定。然后,您需要手动构建它。第三次单击您的项目并选择Build project。(注意 - 如果您在“项目”菜单中自动生成“自动构建”功能,则只会看到此选项)

答案 14 :(得分:11)

首先关闭日食

按窗口键+ 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之后。

答案 15 :(得分:6)

安装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
  5. 在那里你应该看到文件所在的文件夹。只需删除该文件,即可开始使用。

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

      

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

答案 16 :(得分:0)

要解决此问题,只需删除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

答案 17 :(得分:0)

要解决此问题,您需要生成新的调试证书。为此,应删除现有的 debug.keystore 文件。

一旦旧证书被删除,当我们尝试构建调试包时,Eclipse 插件应该会生成一个新证书。最好先清理然后构建用于证书生成的包。

要删除您的调试证书:

Linux 和 MacOS:

delete the debug.keystore file from ~/.android/debug.keystore

Windows:

C:\Users\YourUserName\.android\debug.keystore