我正在使用EclipseAndroid插件来构建一个项目,但是我在控制台窗口中获取此错误:
1 2
| [2010-02-03 10:31:14 - androidVNC]Error generating final archive:
Debug certificate expired on 1/30/10 2:35 PM! |
我该怎么修?
- 有人能告诉我为什么会这样吗?
- 您的系统日期是否更改,导致其25年的有效证书(在签署申请时推荐)。具体来说,活动时间不超过5年
- 您需要创建新的密钥库
在Linux和Mac OS X上删除~/.android/debug.keystore下的调试证书;该目录与Windows上的%USERPROFILE%/.android类似。
然后,当您下次尝试构建调试包时,Eclipse插件应该生成一个新的证书。您可能需要清理然后生成证书。
- 在Windows上,我必须删除debug.keystore并进行一些更改,才能进行新的编译。我创建了一个新的测试项目,并生成了新的debug.keystore。
- 如果您"清理"该项目(转到"项目"->"清理…"),它也将为当前项目重新生成。
- @阿当姆菲什:它在Mac和Eclipse上对我不起作用。
- 现在有一个bug追踪器问题要求修复这个问题。请投赞成票。code.google.com/p/android/issues/detail?ID=15370
- Clean没有帮我解决问题,我需要手动rm~/.android/debug.keystore。
- @詹姆斯用手删除密钥库是上述答案的第一部分。清理项目(或重建)是生成新密钥库所需的操作。
- 我不喜欢使用"clean"的想法,因为上次我这样做时,它删除了我的r.java文件并导致了更多的问题。只需更改代码并保存即可。这将迫使重建。
- Windows7上的目录位置是:c:users&91;用户名].android
- @manfred moser-review.source.android.com//c/22128看起来已经修复了。默认为30年的证书。
- 在Vista和Win7上,这里是:%userprofile%.android
- 在Mac/Eclipse上为我工作。在错误消失之前,您需要执行清除。那时不需要修改代码。
- 是的,但是在删除调试签名的任一解决方案中都会丢失应用程序数据。有没有办法保存它?
- 如果您有设备的根访问权,您可以复制/data/data/目录的重要内容。
- 重要提示:下面的sravan是正确的,Mac会隐藏以点开头的文件和文件夹,就像Windows一样。要修改设置以查看和删除隐藏文件夹中的文件,请按照以下说明操作:guides.macrulls.com/viewing_hidden_files_on_a_mac
- 在运行TeamCity和Ant的生成服务器上发现了同样的问题。密钥库位于C:.android花了我一段时间才找到。
- 对于我(在Windows7上),从"%userprofile%/.android"中删除文件"debug.keystore"就足够了,然后重新启动Eclipse。
- @sszero发生这种情况时,在包资源管理器中关闭项目并再次打开它通常对我有好处。
- clean没有帮我解决问题,不得不手动删除~/.android文件夹
- 两年过去了,仍然像一个魅力。希望他们能解决这个问题,或者至少在问题发生时通知它。
- 我格式化了我的电脑,丢失了原来的debug.keystore。但现在我想要同样的密钥库。有没有办法获得旧的debug.keystore?
- @两党联姻号
- 我还得重新启动Eclipse…(Linux上)
- 有没有办法不删除就延长证书日期
- 我是在做了一个控制台构建并得到这个错误之后来到这里的;在Eclipse中,我只得到一个弹出窗口,上面写着:"构建这个项目时出现了一个错误,请修复这个错误并重试。"但是没有显示我能找到的任何窗口中的错误。(我是个日蚀的笨蛋。)
- debug.keystore位于c:program files(x86)androidandroid sdk.android中。但现在它起作用了!
- 工作!有了新的密钥库文件,APK文件的符号就改变了。
- 如果您要从Eclipse切换到Android Studio,请参阅此链接stackoverflow.com/questions/27609442/…
安装后,android sdk会在名为debug.keystore的密钥库中为您生成一个debug签名证书。Eclipse插件使用此证书对生成的每个应用程序构建进行签名。
很遗憾,调试证书仅在365天内有效。要生成新文件,必须删除现有的debug.keystore文件。它的位置取决于平台-您可以在首选项-Android-构建-默认调试密钥库中找到它。
- 2011年4月6日接受了对默认30年的更改:review.source.android.com/change,22128
- 如果删除debug.keystore,您将如何更新应用程序?
- @用户739375,debug.keystore仅用于调试,单独的证书用于"生产"。
- @Jamesmoore我真的很惊讶证书有多旧
删除所有的development.apk文件是很痛苦的,因为新证书不匹配,所以您无法在所有的avd中升级它们。您还必须获得另一个开发map-api密钥。还有另一个解决方案。
您可以在debug.keystore中创建自己的调试证书,并且可以使用您想要的任何到期日期。在您的HOME目录下的.android文件夹中执行此操作:
1
| 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 is not recognized"错误。你能进一步解释一下这个方法吗?
- 可以在JDK的bin目录(任何操作系统)中找到keytool。我通常将这个bin目录添加到我的路径中,这样上面的内容就可以在任何地方工作。您可以找到JDK bin目录并将其添加到您的路径中,或者在命令行中将完整的路径名放在keytool中。
- 正如其他评论者指出的那样,Google似乎已经延长了调试证书的默认持续时间,因此删除debug.keystore文件和进行清理/构建要容易得多。
- 我正在使用Hudson进行一个CI构建,这在Eclipse答案没有的情况下是有效的。
在Vista上,这是有效的:
DOS:del c:\user\dad\.android\debug.keystore。
Eclipse:在项目中,清理项目。近食。重新打开Eclipse。
Eclipse:启动模拟器。从模拟器中删除应用程序。
你很高兴去。
当我说那个错误的时候我很担心,但是我从这里读了10分钟,然后玩了10分钟,就把它修好了。
删除:debug.keystore位于C:\Documents and Settings\\[user]\.android,清理和建设你的项目。
- 视窗7转到C:\Users\[username]\.android并删除debug.keystore文件。
清理并构建您的项目。
删除位于~/.android/debug.keystore中的密钥库,清理并构建项目。
在所有选项中,如果无法获得新的debug.keystore,只需重新启动eclipse。
在Windows 7中,它位于路径
1
| C:\Users\[username]\.android |
- 转到该路径并删除debug.keystore。
- 清理并构建您的项目。
如果证书在项目调试过程中过期,则必须手动卸载:
请执行壳中的adb uninstall 。
在Mac上,打开控制台(当前用户的目录应该打开),cd".android"("ls"来验证debug.keystore)。最后"rm debug.keystore"删除文件。
Android SDK在一个名为debug.keystore的密钥库中为您生成一个"调试"签名证书。Eclipse插件使用此证书对生成的每个应用程序构建进行签名。
很遗憾,调试证书仅在365天内有效。要生成新文件,必须删除现有的debug.keystore文件。它的位置取决于平台-您可以在Preferences->Android->Build->Default Debug Keystore中找到它。
如果您使用的是Windows,请按照以下步骤操作。
DOS:del c:userdad.androiddebug.keystore
Eclipse:在项目中,清理项目。近食。重新打开Eclipse。
Eclipse:启动模拟器。从模拟器中删除应用程序。
如果您使用的是Linux或Mac,请按照以下步骤操作。
从.android文件夹中手动删除debug.keystore。
你可以找到这样的.android文件夹:home/username/.android
注意:默认的.android文件将被隐藏。
所以点击Places菜单。在"选择主文件夹"下。在"单击查看"下,在"显示隐藏文件"下,将显示.android文件夹。
从.android folder中删除debug.keystore。
然后清理你的项目。现在Android将生成一个新的.android folder文件。
几个星期前我遇到了这个问题。我首先在Android开发者网站上尝试了故障排除,但没有运气。之后我重新安装了Android SDK,解决了我的问题。
H-M-M-M。有趣的是,这么多人在这方面的经历略有不同。我记得有几天,这被认为是软件还没有准备好发布的标志,在用户开始发现这些问题之前,团队实际上会修复它:(
我自己的经历有点不同。我已经尝试过Project>Clean,但仍然有相同的构建失败。然后我删除了debug.keystore(在.android下),正如第一个答案所说。还是有同样的问题。然后我又做了一次清洁,奇迹般的奇迹,成功了!
现在别误会我,我很高兴我的工作,多亏了这条线索。但显然clean不起作用,在我删除了密钥库之后,它是如何找到过期的密钥的????显然Eclipse或ADT有问题——不太确定是哪一个。
- Eclipse倾向于缓存文件,因此有时需要进行清理/刷新,以便让它知道文件在磁盘上发生了更改。
在Ubuntu上,这项工作:
我去了以东十一〔15〕,把以东十一〔16〕改名为以东十一〔17〕。然后,我关闭Eclipse,启动Eclipse,SDK在该文件夹中创建了新的证书keystore.debug。
然后必须卸载/重新安装通过USB调试或未签名的APK安装的应用程序("unsigned"APK=用调试证书签名)。
对于Windows XP,请转到C:\Documents and Settings\%userprofile%\.android并删除debug.keystore文件,重新启动Eclipse,现在您的项目将得到无错误的构建。
示例路径:
1 2
| C:\Documents and Settings
aja.ap\.android\ |
阅读此处了解更多信息。
在Windows中,debug.keystore文件位于C:\Users\%Username%\.android文件夹中。此文件是在安装Android SDK时创建的,仅在一年内有效。在这个perod之后,您将开始得到这个错误Error getting final archive: Debug certificate expired on xx/xx/xxxx。
要删除此错误,只需删除文件并再次运行程序。在我的Eclipse中,我启用了Project->Build Automatically,所以它直接工作,但是如果您禁用了它,您需要清理Project->Clean项目。选择项目并按"确定"。然后您需要手动构建它。第三次单击项目并选择Build project。(注意-只有在项目菜单中禁用了"自动生成"功能时,才会看到此选项)
先关闭日食,然后
通过window key+r或run as admin打开cmd
遵循以下步骤
1 2
| del"%USERPROFILE%\.android\debug.keystore"
keytool -genkey -v -keystore"%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 30000 |
重新启动Eclipse之后。
安装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
要解决此问题,只需删除debug.keystore文件。
AVD的默认存储位置是
In ~/.android/ on OS X and Linux.
In C:\Documents and Settings\.android\ on Windows XP
In C:\Users\.android\ on Windows Vista and Windows 7.
另请参阅此链接,这可能会有所帮助。
http://developer.android.com/tools/publishing/app-signing.html网站