ChatGPT解决这个技术问题 Extra ChatGPT

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!

我如何解决它?

有人能说出为什么会这样吗?
您的系统日期是否更改,导致其 25 年有效证书(在签署应用程序时推荐)。它不是超过 5 年的事件
您需要创建新的密钥库

J
Jorgesys

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

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


在 Windows 上,我必须删除 debug.keystore 并进行一些更改才能进行新的编译。我创建了一个新的测试项目,并生成了新的 debug.keystore。
如果您“清理”项目,它也将为当前项目重新生成(转到项目->清理...)
现在有一个错误跟踪器问题要求修复此问题。请为它投票。 code.google.com/p/android/issues/detail?id=15370
Clean 没有为我解决问题,我需要手动 rm ~/.android/debug.keystore。
@James 手动删除密钥库是上述答案的第一部分。清理项目(或重建)是生成新密钥库所需要做的。
D
D.J

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

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


2011 年 4 月 6 日接受了一项更改为默认 30 年:review.source.android.com/#change,22128
如果您删除 debug.keystore,您将如何更新您的应用程序?
@user739375, debug.keystore 仅用于调试,单独的证书用于“生产”。
@JamesMoore 我真的很惊讶证书的年龄
D
Deanna

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


我喜欢这个,因为它提供了一个更长期的修复,直到 SDK 提供更好的方法来处理过期证书。
我喜欢这个,因为我根本不需要使用 eclipse。
我假设这是在命令行下输入的。如果是这样,我会收到“无法识别密钥工具”错误。你能进一步解释这种方法吗?
keytool 可以在 JDK 的 bin 目录(任何操作系统)中找到。我通常将此 bin 目录添加到我的 PATH 中,因此上述内容可以在任何地方工作。您可以找到您的 JDK bin 目录并将其添加到您的 PATH 中,或者您可以将 keytool 的完整路径名放在命令行中。
正如其他评论者指出的那样,谷歌似乎延长了调试证书的默认持续时间,因此删除 debug.keystore 文件并进行清理/构建要容易得多。
s
sth

在 Vista 上,这有效:

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

你已准备好出发。

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


J
Jorgesys

视窗

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

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

清理并构建您的项目。

苹果电脑

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

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


P
Peter Mortensen

在 Windows 7 中,它位于路径中

C:\Users\[username]\.android

转到此路径并删除 debug.keystore

清理并构建您的项目。


S
Solata

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

请在 shell 中执行 adb uninstall <package_name>


j
jorisw

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


F
Flexo

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

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

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

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

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

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

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

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

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

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

所以点击地点菜单。在选择主文件夹下。在点击查看下,点击显示隐藏文件,然后 .android 文件夹将可见。

.android folder 中删除 debug.keystore

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


M
Maurits Rijk

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


M
Matt J.

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

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

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


Eclipse 倾向于缓存文件,因此有时需要清理/刷新以让它知道文件在磁盘上已更改。
F
FreewheelNat

在 Ubuntu 上,这有效:

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

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


4
4 revs, 3 users 73% user3291565

先关闭eclipse然后

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


I
Iamat8

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

示例路径:

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

read-here-for-more


A
Aniket Thakur

在 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。(注意 - 如果您在项目菜单中禁用了自动构建功能,您只会看到此选项)


I
IntelliJ Amiya

安装 Android SDK in Eclipse 后,它会在名为 debug.keystorekeystore 中为您生成一个调试签名证书。 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 文件。

转到首选项 Android 构建默认调试密钥库

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

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

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


G
Girish Patel

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


A
Ali Yar Khan

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