【问题标题】:"Debug certificate expired" error in Eclipse Android pluginsEclipse Android 插件中的“调试证书已过期”错误
【发布时间】:2011-01-12 18:45:29
【问题描述】:

我正在使用 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 年的具体事件
  • 您需要创建新的密钥库

标签: android eclipse certificate


【解决方案1】:

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

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

【讨论】:

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

安装后,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 我真的很惊讶证书的年龄
【解决方案3】:

不得不删除所有开发 .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 的完整路径名放在命令行中。
  • 正如其他评论者指出的那样,Google 似乎延长了调试证书的默认持续时间,因此删除 debug.keystore 文件并进行清理/构建要容易得多。
【解决方案4】:

在 Vista 上,这行得通:

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

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

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

你可以走了。

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

【讨论】:

    【解决方案5】:
    • WINDOWS

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

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

    清理并构建您的项目。

    • MAC

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

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

    【讨论】:

      【解决方案6】:

      在 Windows 7 中,它位于路径中

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

      【讨论】:

        【解决方案7】:

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

        请执行 adb uninstall <package_name> 在外壳中。

        【讨论】:

          【解决方案8】:

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

          【讨论】:

            【解决方案9】:

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

            很遗憾,调试证书的有效期仅为 365 天。要生成一个新文件,您必须删除现有的debug.keystore 文件。它的位置取决于平台 - 你可以在 Preferences -> Android -> Build -> *Default debug keystore 中找到它。

            如果您使用的是 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文件。

            【讨论】:

              【解决方案10】:

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

              【讨论】:

                【解决方案11】:

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

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

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

                【讨论】:

                • Eclipse 倾向于缓存文件,因此有时需要清理/刷新以让它知道文件在磁盘上已更改。
                【解决方案12】:

                在 Ubuntu 上,这行得通:

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

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

                【讨论】:

                  【解决方案13】:

                  先关闭eclipse然后

                  通过窗口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 之后。

                  【讨论】:

                    【解决方案14】:

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

                    示例路径:

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

                    read-here-for-more.

                    【讨论】:

                      【解决方案15】:

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

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

                      【讨论】:

                        【解决方案16】:

                        安装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 文件即可。

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

                        在那里你应该看到文件所在的文件夹。只需删除该文件即可。

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

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

                        【讨论】:

                          【解决方案17】:

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

                          【讨论】:

                            【解决方案18】:

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

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

                            要删除您的调试证书:

                            Linux 和 MacOS:

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

                            Windows:

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

                            【讨论】:

                              【解决方案19】:

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

                              【讨论】:

                                猜你喜欢
                                • 2011-04-18
                                • 1970-01-01
                                • 2014-03-13
                                • 2017-03-17
                                • 1970-01-01
                                • 2020-09-18
                                • 1970-01-01
                                • 1970-01-01
                                相关资源
                                最近更新 更多