Eclipse Android插件中的"调试证书已过期"错误

hap*_*497 1863 eclipse android certificate

我正在使用Eclipse Android插件来构建项目,但是我在控制台窗口中收到此错误:

[2010-02-03 10:31:14 - androidVNC]Error generating final archive:
Debug certificate expired on 1/30/10 2:35 PM!
Run Code Online (Sandbox Code Playgroud)

我如何解决它?

Chr*_*Orr 2232

~/.android/debug.keystoreLinux和Mac OS X下删除调试证书; 该目录就像%USERPROFILE%/.androidWindows上一样.

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

  • 如果你"清理"项目,它也将为当前项目重新生成(转到项目 - >清理......) (117认同)
  • Clean并没有解决我的问题,我需要手动rm~/.android/debug.keystore. (61认同)
  • @adamnfish:它在mac和eclipse上对我不起作用. (20认同)
  • 在Windows上,我不得不删除debug.keystore并进行一些更改以获得新的编译.我创建了一个新的测试项目,并生成了新的debug.keystore. (13认同)
  • 现在有一个错误跟踪器问题,要求修复它.请投票支持.http://code.google.com/p/android/issues/detail?id=15370 (11认同)
  • @James手动删除密钥库是上面答案的第一部分.清理项目(或重建)是生成新密钥库所需要做的. (3认同)
  • Windows 7上的目录位置是:C:\ Users\[Username]\.android (3认同)
  • @Manfred Moser - https://review.source.android.com/#/c/22128/看起来像是修复版.默认将是30年的证书. (2认同)

Jef*_*elt 331

安装后,Android SDK debug会在名为的密钥库中为您生成签名证书debug.keystore.Eclipse插件使用此证书对生成的每个应用程序构建进行签名.

不幸的是,调试证书仅在365天内有效.要生成新debug.keystore文件,您必须删除现有文件.它的位置取决于平台 - 你可以在Preferences - Android - Build - Default debug keystore中找到它.

  • 2011年4月6日接受了默认30年的更改:https://review.source.android.com/#change,22128 (23认同)
  • @ user739375,debug.keystore仅用于调试,单独的证书用于"生产". (6认同)

Dav*_*ean 249

删除所有开发.apk文件是一件痛苦的事,因为新证书不匹配,因此您无法在所有AVD中升级它们.您还必须获得另一个开发MAP-API密钥.还有另一种解决方案.

您可以debug.keystore使用所需的任何到期时间创建自己的调试证书..android在您的HOME目录下的文件夹中执行此操作:

keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 14000
Run Code Online (Sandbox Code Playgroud)

keytool.exe可以在JDK bin文件夹中找到(例如C:\Program Files\Java\jdk1.6.0_31\bin\在Windows上).

ADT将证书上的名字和姓氏设置为"Android Debug",将组织单位设置为"Android",将双字母国家/地区代码设置为"US".您可以将组织,城市和州值保留为"未知".此示例使用14000天的有效期.你可以使用你喜欢的任何值.

  • 我喜欢这个,因为我根本不需要使用eclipse. (23认同)
  • 我喜欢这个,因为它提供了更长期的修复,直到SDK提供更好的方式来处理过期的证书. (3认同)

小智 79

在Vista上,这有效:

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

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

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

你已准备好出发.

当我说出这个错误时,我非常担心,但是我在阅读这里并且玩了大约10分钟后修复了它.


Jor*_*sys 68

  • 视窗

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

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

清理并构建您的项目.

  • 苹果电脑

删除位于~/.android/debug.keystoreClean中的密钥库并构建项目.

在所有选项中如果你不能获得新的debug.keystore只需重新启动eclipse.


AZ_*_*AZ_ 55

在Windows 7中,它就在路径上

C:\Users\[username]\.android
Run Code Online (Sandbox Code Playgroud)
  • 转到此路径并删除 debug.keystore
  • 清理并构建您的项目.


Sol*_*ata 41

如果证书在项目调试过程中到期,则必须手动卸载:

adb uninstall <package_name>在shell中执行 .


Mic*_*ann 37

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


小智 35

Android SDK在名为的密钥库中为您生成"调试"签名证书debug.keystore.Eclipse插件使用此证书对生成的每个应用程序版本进行签名.

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

如果您使用的是Windows,请按照以下步骤操作.

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

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

Eclipse:启动模拟器.从模拟器中删除应用程序.

如果您使用的是Linux或Mac,请按照以下步骤操作.

debug.keystore.android文件夹中手动删除.

你可以找到这样的.android文件夹:home/username/.android

注意:默认.android文件将被隐藏.

所以点击"地点"菜单.在选择主文件夹下.在单击视图下,单击显示隐藏文件,然后该.android文件夹将可见.

debug.keystore从中删除.android folder.

然后清理您的项目.现在Android将生成一个新.android folder文件.


Mau*_*ijk 33

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


小智 32

H-m-m-m. Interesting how so many people have had slightly different experiences with this. I remember the days when this was considered a sign that the software was not ready for release, and the team would actually fix it BEFORE users started seeing these problems:(

My own experience was just a little different. I had already tried Project>Clean, but still got the same build failure. Then I deleted the debug.keystore (under .android) just as the first answer said. Still got the same problem. Then I did a clean again, and wonder of wonders, it worked!

Now don't get me wrong, I am glad that I got it working thanks to the hints in this thread. But clearly clean isn't working right, and how did it find an expired key after I deleted the keystore??? Clearly something is wrong with Eclipse or the ADT -- not so sure which.


Fre*_*Nat 32

在Ubuntu上,这有效:

我去了home/username/.android,我改名keystore.debugkeystoreold.debug.然后我关闭了Eclipse,启动了Eclipse,SDK keystore.debug在该文件夹中创建了新证书.

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


raj*_*aja 14

对于Windows XP,请转到C:\Documents and Settings\%userprofile%\.android并删除debug.keystore文件,重新启动eclipse,现在您的项目无需编译即可构建.

示例路径:

C:\Documents and Settings\raja.ap\.android\
Run Code Online (Sandbox Code Playgroud)

在这里阅读更多.


Ani*_*kur 13

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

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


小智 12

先关闭日食

通过Window Key + RRun as Admin打开CMD

按照以下步骤操作

del "%USERPROFILE%\.android\debug.keystore"
keytool -genkey -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 30000
Run Code Online (Sandbox Code Playgroud)

此次重启后eclipse.


Int*_*iya 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文件即可.

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

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

有关更多信息.您可以访问

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