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

"Debug certificate expired" error in Eclipse Android plugins

提问人:hap497 提问时间:2/4/2010 最后编辑:Damian Kozlakhap497 更新时间:12/4/2021 访问量:281819

问:

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

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

我该如何解决?

Android Eclipse 证书

评论

8赞 Matical 6/20/2013
有人能说出为什么会这样吗?
2赞 Trikaldarshiii 7/25/2013
您的系统日期是否更改,导致其 25 年有效证书(在签署应用程序时建议)。它不是超过 5 岁的事件
0赞 codezoner 5/19/2015
您需要创建新的密钥库

答:

35赞 Maurits Rijk 2/4/2010 #1

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

2270赞 Christopher Orr 2/4/2010 #2

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

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

评论

13赞 Tomas 6/8/2010
在 Windows 上,我不得不删除 debug.keystore 并进行一些更改以进行新的编译。我创建了一个新的测试项目,并生成了新的debug.keystore。
117赞 adamnfish 7/25/2010
如果您“清理”项目,它也将为当前项目重新生成(转到项目 -> 清理...)
11赞 Manfred Moser 3/10/2011
现在有一个错误跟踪器问题,要求修复此问题。请投赞成票。code.google.com/p/android/issues/detail?id=15370
61赞 James Moore 5/3/2011
Clean 没有为我解决问题,我需要手动 rm ~/.android/debug.keystore。
3赞 Christopher Orr 5/4/2011
@James 手动删除密钥库是上述答案的第一部分。清理项目(或重建)是生成新密钥库所需要执行的操作。
341赞 Jeff Gilfelt 2/4/2010 #3

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

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

评论

23赞 James Moore 5/3/2011
2011 年 4 月 6 日接受了默认 30 年的更改:review.source.android.com/#change,22128
0赞 user739375 7/21/2011
如果删除 debug.keystore,将如何更新应用程序?
6赞 Teo Klestrup Röijezon 1/1/2012
@user739375,debug.keystore 仅用于调试,单独的证书用于“生产”。
0赞 Trikaldarshiii 7/25/2013
@JamesMoore 我真的很惊讶证书的年龄有多大
82赞 user407749 8/1/2010 #4

在 Vista 上,这奏效了:

  1. 注意事项:del c:\user\dad\.android\debug.keystore

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

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

你已经准备好了。

当我说这个错误时,我非常担心,但我从阅读这里并玩了 10 分钟来修复它。

34赞 Matt J. 9/19/2010 #5

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

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

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

评论

0赞 navjotk 4/3/2012
Eclipse倾向于缓存文件,因此有时需要清理/刷新才能让它知道文件在磁盘上已更改。
265赞 Dave MacLean 10/30/2010 #6

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

您可以创建自己的调试证书,并具有所需的任何到期时间。在目录下的文件夹中执行此操作:debug.keystore.androidHOME

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 天。您可以使用任何您喜欢的值。

评论

3赞 Sean Aitken 4/6/2011
我喜欢这个,因为它提供了一个更长期的修复,直到 SDK 提供更好的方法来处理即将过期的证书。
24赞 MattK 6/30/2011
我喜欢这个,因为我根本不需要使用 eclipse。
0赞 Ted Betz 11/19/2011
我假设这是在命令行下键入的。如果是这样,我收到“无法识别密钥工具”错误。你能进一步解释一下这个方法吗?
1赞 Dave MacLean 11/27/2011
keytool 可以在 JDK 的 bin 目录(任何操作系统)中找到。我通常会将这个 bin 目录添加到我的 PATH 中,以便上述内容可以在任何地方工作。您可以找到 JDK bin 目录并将其添加到 PATH 中,也可以在命令行上将完整路径名放入 keytool。
1赞 Dave MacLean 11/27/2011
正如其他评论者所指出的那样,谷歌似乎已经延长了调试证书的默认持续时间,因此删除debug.keystore文件并进行清理/构建要容易得多。
42赞 Solata 12/13/2010 #7

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

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

40赞 Michael Biermann 5/9/2011 #8

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

70赞 Jorgesys 10/11/2011 #9
  • 窗户

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

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

清理并生成项目。

  • 苹果电脑

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

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

34赞 FreewheelNat 10/14/2011 #10

在 Ubuntu 上,这奏效了:

我去了,我重命名为 .然后,我关闭了 Eclipse,启动了 Eclipse,SDK 在该文件夹中创建了新证书。home/username/.androidkeystore.debugkeystoreold.debugkeystore.debug

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

58赞 AZ_ 11/23/2011 #11

在 Windows 7 中,它位于路径中

C:\Users\[username]\.android
  • 转到此路径并删除debug.keystore
  • 清理并生成项目。
37赞 sravan 2/8/2012 #12

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

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

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

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

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

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

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

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

您可以找到如下所示的文件夹:.androidhome/username/.android

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

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

从 中删除。debug.keystore.android folder

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

15赞 raja 1/30/2013 #13

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

示例路径:

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

在这里阅读更多

14赞 Aniket Thakur 6/17/2013 #14

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

要删除此错误,只需删除文件并再次运行程序即可。在我的Eclipse中,我已经启用了它,因此它直接起作用,但是如果您禁用了它,则需要清理该项目。选择您的项目,然后按 OK。然后,您将需要手动构建它。第 3 次单击您的项目并选择 .(注意 - 只有在“项目”菜单中禁用了“自动构建”功能时,才会看到此选项)Project->Build AutomaticallyProject->CleanBuild project

15赞 4 revs, 3 users 73%user3291565 #15

首先关闭日食,然后

通过 Window 键 + 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 之后。

2赞 Girish Patel 2/5/2015 #16

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

8赞 IntelliJ Amiya 5/14/2015 #17

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

0赞 Ali Yar Khan 12/4/2021 #18

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