我正在使用 Eclipse Android 插件构建项目,但在控制台窗口中出现此错误:
[2010-02-03 10:31:14 - androidVNC]Error generating final archive:
Debug certificate expired on 1/30/10 2:35 PM!
我如何解决它?
在 Linux 和 Mac OS X 上删除 ~/.android/debug.keystore
下的调试证书;该目录类似于%USERPROFILE%/.android
在 Windows 上。
当您下次尝试构建调试包时,Eclipse 插件应该会生成一个新证书。您可能需要清理然后构建以生成证书。
安装后,Android SDK 会在名为 debug.keystore
的密钥库中为您生成一个 debug
签名证书。 Eclipse 插件使用此证书对生成的每个应用程序构建进行签名。
不幸的是,调试证书的有效期只有 365 天。要生成新文件,您必须删除现有的 debug.keystore
文件。它的位置取决于平台 - 您可以在 Preferences - Android - Build - Default debug keystore 中找到它。
必须删除所有开发 .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 天的有效期。你可以使用任何你喜欢的值。
在 Vista 上,这有效:
DOS:del c:\user\dad\.android\debug.keystore ECLIPSE:在项目中,清理项目。关闭 Eclipse。重新打开 Eclipse。 ECLIPSE:启动模拟器。从模拟器中删除应用程序。
你已准备好出发。
当我说那个错误时我很担心,但我通过阅读这里修复它并玩了 10 分钟。
视窗
删除:debug.keystore 位于 C:\Documents and Settings\\[user]\.android
,清理并构建您的项目。
Windows 7 转到 C:\Users\[username]\.android 并删除 debug.keystore 文件。
清理并构建您的项目。
苹果电脑
删除位于 ~/.android/debug.keystore
中的密钥库清理并构建您的项目。
在所有选项中,如果您无法获得新的 debug.keystore,只需重新启动 Eclipse。
在 Windows 7 中,它位于路径中
C:\Users\[username]\.android
转到此路径并删除 debug.keystore
清理并构建您的项目。
如果在项目调试过程中证书过期,则必须手动卸载:
请在 shell 中执行 adb uninstall <package_name>
。
在 Mac 上,打开终端(应打开当前用户的目录),cd ".android"("ls" 以验证 debug.keystore 是否存在)。最后“rm debug.keystore”删除文件。
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
文件。
嗯。有趣的是,这么多人在这方面的经历略有不同。我记得这被认为是软件尚未准备好发布的迹象的日子,团队实际上会在用户开始看到这些问题之前修复它:(
我自己的经历有点不同。我已经尝试过 Project>Clean,但仍然遇到同样的构建失败。然后我删除了 debug.keystore (在 .android 下),就像第一个答案所说的那样。仍然遇到同样的问题。然后我又做了一次清洁,奇迹般的奇迹,它奏效了!
现在不要误会我的意思,我很高兴由于这个线程中的提示,我得到了它的工作。但显然 clean 不能正常工作,我删除密钥库后它是如何找到过期密钥的???显然 Eclipse 或 ADT 出了点问题——不太确定是哪一个。
在 Ubuntu 上,这有效:
我去了 home/username/.android
并将 keystore.debug
重命名为 keystoreold.debug
。然后我关闭了 Eclipse,启动了 Eclipse,SDK 在该文件夹中创建了新证书 keystore.debug
。
然后,您必须卸载/重新安装通过 USB 调试或未签名 APK(“未签名”APK = 使用调试证书签名)安装的应用程序。
先关闭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 之后。
对于 windows xp,请转到 C:\Documents and Settings\%userprofile%\.android
并删除 debug.keystore 文件,重新启动 eclipse,现在您的项目可以正确构建。
示例路径:
C:\Documents and Settings\raja.ap\.android\
在 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
。(注意 - 如果您在项目菜单中禁用了自动构建功能,您只会看到此选项)
安装 Android SDK in Eclipse
后,它会在名为 debug.keystore 的 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 文件。
转到首选项 Android 构建默认调试密钥库
在那里你应该看到文件所在的文件夹。只需删除该文件,您就可以开始了。
了解更多信息。您可以访问
http://developer.android.com/tools/publishing/app-signing.html
要解决此问题,只需删除 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
删除位于 C:\Users\%Username%\.android
文件夹的 debug.keystore。然后运行应用程序。它将生成新的。