我正在使用Eclipse Android插件来构建项目,但我是 在控制台窗口中收到此错误:
[2010-02-03 10:31:14 - androidVNC]Error generating final archive:
Debug certificate expired on 1/30/10 2:35 PM!
我该如何解决?
答案 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上,这有效:
DOS:del c:\user\dad\.android\debug.keystore
ECLIPSE:在项目中,清理项目。关闭Eclipse。重新打开Eclipse。
ECLIPSE:启动模拟器。从模拟器中删除应用程序。
你很高兴。
当我说出错误时,我非常担心,但是我在阅读这里并且玩了10分钟后修复了它。
答案 4 :(得分:66)
删除:debug.keystore
位于
C:\Documents and Settings\\[user]\.android
,清理并构建您的项目。
C:\Users\[username]\.android
并删除debug.keystore文件。清理并构建您的项目。
删除位于 ~/.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; *默认调试密钥库。
DOS:del c:\ user \ dad.android \ debug.keystore
Eclipse:在Project中,清理项目。关闭Eclipse。重新打开Eclipse。
Eclipse:启动模拟器。从模拟器中删除应用程序。
从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\
答案 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 文件即可。
Go to Preferences
强> Android
强> Build
强> Default debug keystore
强> 在那里你应该看到文件所在的文件夹。只需删除该文件,即可开始使用。
了解更多信息。你可以访问
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