我正在使用Eclipse Android插件来构建项目,但是在控制台窗口中出现此错误:
[2010-02-03 10:31:14 - androidVNC]Error generating final archive:
Debug certificate expired on 1/30/10 2:35 PM!
我如何解决它?
我正在使用Eclipse Android插件来构建项目,但是在控制台窗口中出现此错误:
[2010-02-03 10:31:14 - androidVNC]Error generating final archive:
Debug certificate expired on 1/30/10 2:35 PM!
我如何解决它?
Answers:
~/.android/debug.keystore
在Linux和Mac OS X上删除您的调试证书;该目录类似于Windows%USERPROFILE%/.android
上的目录。
当您下次尝试构建调试包时,Eclipse插件应会生成一个新证书。您可能需要先清理,然后构建才能生成证书。
安装后,Android SDK将debug
在名为的密钥库中为您生成签名证书debug.keystore
。Eclipse插件使用此证书对生成的每个应用程序构建进行签名。
不幸的是,调试证书仅在365天有效。要生成一个新debug.keystore
文件,必须删除现有文件。它的位置取决于平台-您可以在Preferences-Android-Build-Default debug keystore中找到它。
必须删除所有开发.apk文件,这很痛苦,因为新证书不匹配,因此您无法在所有AVD中升级它们。您还必须获得另一个开发MAP-API密钥。还有另一种解决方案。
您可以根据需要设置自己的调试证书debug.keystore
。在.android
目录下的文件夹中执行此操作HOME
:
keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 14000
keytool.exe
可以在JDK bin文件夹(例如C:\Program Files\Java\jdk1.6.0_31\bin\
Windows)中找到。
ADT将证书上的名字和姓氏设置为“ Android Debug”,组织单位设置为“ Android”,并将两个字母的国家/地区代码设置为“ US”。您可以将组织,城市和州的值保留为“未知”。本示例使用14000天的有效期。您可以使用任何喜欢的值。
Android SDK在称为的密钥库中为您生成“调试”签名证书 debug.keystore
。Eclipse插件使用此证书对生成的每个应用程序构建进行签名。
不幸的是,调试证书仅在365天有效。要生成一个新debug.keystore
文件,必须删除现有文件。它的位置取决于平台-您可以在偏好设置 -> Android- > 构建中找到它 -> *默认调试密钥库中。
DOS:del c:\ user \ dad.android \ debug.keystore
Eclipse:在“项目”中,清洁项目。关闭Eclipse。重新打开Eclipse。
Eclipse:启动模拟器。从仿真器中删除该应用程序。
debug.keystore
从.android
文件夹中手动删除。
您可以找到以下.android
文件夹:home/username/.android
注意:默认.android
文件将被隐藏。
因此,点击地点菜单。在选择主文件夹下。在“单击查看”下,单击“显示隐藏文件”,然后该.android
文件夹将可见。
debug.keystore
从中删除.android folder
。
然后清理您的项目。现在,Android将生成一个新.android folder
文件。
几周前我遇到了这个问题。我首先在Android开发人员网站上尝试了疑难解答,但是没有运气。之后,我重新安装了Android SDK,从而解决了我的问题。
嗯 有趣的是,有多少人对此有不同的经历。我记得有一天,这被认为是该软件尚未准备好发布的迹象,在用户开始看到这些问题之前,团队实际上会对其进行修复:(
我自己的经历与众不同。我已经尝试过Project> Clean,但仍然遇到相同的构建失败。然后,就像第一个答案所说的那样,删除了debug.keystore(在.android下)。仍然有同样的问题。然后我又做了一次清洁,发现奇迹,它起作用了!
现在请不要误解我,我很高兴由于该线程中的提示而使它正常工作。但是显然清除工作不正确,在删除密钥存储区后如何找到过期的密钥???显然,Eclipse或ADT出了点问题-不确定哪一个。
在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
..选择项目,然后按OK。然后,您将需要手动构建它。第三次单击您的项目,然后选择Build project
。(注意-如果您禁用了“项目”菜单中的“自动构建”功能,则只会看到此选项)
安装之后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的默认存储位置是
在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