Eclipse Androidプラグインの「デバッグ証明書の期限切れ」エラー


1898

Eclipse Androidプラグインを使用してプロジェクトをビルドしていますが、コンソールウィンドウに次のエラーが表示されます。

[2010-02-03 10:31:14 - androidVNC]Error generating final archive:
Debug certificate expired on 1/30/10 2:35 PM!

どうすれば修正できますか?


8
なぜこれが起こるのか誰かが言うことができますか?
Matical 2013年

2
システムの日付が変更された場合、25年間有効な証明書が発行されます(アプリケーションへの署名時に推奨)。5年以上前のイベントではない
Trikaldarshi 2013

新しいキーストアを作成する必要があります
bynu022

回答:


2241

下のデバッグ証明書を削除~/.android/debug.keystoreのLinuxおよびMac OS X ; ディレクトリのようなものである%USERPROFILE%/.androidのWindows

次に、デバッグパッケージをビルドしようとすると、Eclipseプラグインが新しい証明書を生成するはずです。証明書を生成するには、クリーンアップしてからビルドする必要がある場合があります。


13
Windowsでは、新しいコンパイルを実行するために、debug.keystoreを削除して変更を加える必要がありました。新しいテストプロジェクトを作成し、新しいdebug.keystoreを生成しました。
トーマス

117
また、プロジェクトを「クリーン」にすると、現在のプロジェクト用に再生成されます([プロジェクト]-> [クリーン...]に移動します)
adamnfish

11
これを修正するように要求するバグ追跡の問題があります。投票してください。code.google.com/p/android/issues/detail?id=15370
Manfred Moser、

61
クリーンで問題が解決しなかったため、手動で〜/ .android / debug.keystoreをrmする必要がありました。
James Moore、

3
@Jamesキーストアを手動で削除することは、上記の回答の最初の部分です。プロジェクトのクリーンアップ(または再構築)は、新しいキーストアを生成するために必要なことです。
クリストファーOrr

334

インストール時に、Android SDKはdebugと呼ばれるキーストアに署名証明書を生成しますdebug.keystore。Eclipseプラグインは、この証明書を使用して、生成された各アプリケーションビルドに署名します。

残念ながら、デバッグ証明書は365日間のみ有効です。新しいdebug.keystoreファイルを生成するには、既存のファイルを削除する必要があります。その場所はプラットフォームによって異なります環境設定-Android-ビルド-デフォルトのデバッグキーストアにあります


23
デフォルトの30年にするための変更が2011年4月6日に承認されました:review.source.android.com/#change,22128
James Moore

debug.keystoreを削除した場合、どのようにアプリケーションを更新しますか?
user739375

6
@ user739375、debug.keystoreはデバッグにのみ使用され、「製品」には別の証明書が使用されます。
Teo KlestrupRöijezon、2012年

@JamesMoore証明書がどれほど古いか本当に驚いた
Trikaldarshi 2013

254

新しい証明書が一致しないため、すべてのAVDでそれらをアップグレードできないため、開発用の.apkファイルをすべて削除しなければならないのは面倒です。別の開発MAP-APIキーも取得する必要があります。別の解決策があります。

debug.keystore有効期限を任意に設定して、独自のデバッグ証明書を作成できます。これは、.androidディレクトリの下のフォルダで行いますHOME

keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 14000

keytool.exeJDK binフォルダー(C:\Program Files\Java\jdk1.6.0_31\bin\Windowsなど)にあります。

ADTは、証明書の姓名を「Android Debug」、組織単位を「Android」、2文字の国コードを「US」に設定します。組織、市、州の値は「不明」のままにすることができます。この例では、14000日の有効期間を使用しています。任意の値を使用できます。


3
SDKが期限切れの証明書を処理するためのより良い方法を提供するまで、より長期的な修正が提供されるため、これが好きです。
Sean Aitken、2011

23
私は皆既日食を使う必要がないのでこれが好きです。
MattK、2011年

これはコマンドラインで入力することを想定しています。その場合、「キーツールが認識されません」というエラーが表示されます。この方法をさらに説明できますか?
テッド・ベッツ

1
keytoolは、JDKのbinディレクトリ(任意のOS)にあります。私は通常、このbinディレクトリをPATHに追加して、上記がどこからでも機能するようにします。JDK binディレクトリを見つけてそれをPATHに追加するか、コマンドラインでkeytoolへの完全パス名を入力することができます。
Dave MacLean

1
他のコメンターが指摘しているように、Googleはデバッグ証明書のデフォルトの期間を延長しているため、debug.keystoreファイルを削除してクリーン/ビルドを実行する方がはるかに簡単です。
Dave MacLean

81

Vistaでは、これはうまくいきました:

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

  2. ECLIPSE:プロジェクトで、プロジェクトをクリーンアップします。Eclipseを閉じます。Eclipseを再度開きます。

  3. ECLIPSE:エミュレーターを起動します。エミュレータからアプリケーションを削除します。

準備できた。

そのエラーを言うとかなり心配でしたが、ここを読んで10分間遊んでからそれを修正しました。


68
  • ウィンドウズ

削除:にあるdebug.keystoreC:\Documents and Settings\\[user]\.android、プロジェクトをクリーン アップ してビルドします。

  • Windows 7C:\Users\[username]\.androiddebug.keystoreファイルに移動して削除します。

プロジェクトをクリーンアップしてビルドします。

  • マック

~/.android/debug.keystoreCleanにあるキーストアを削除し、プロジェクトをビルドします。

すべてのオプションで、新しいdebug.keystoreを取得できない場合は、Eclipseを再起動してください。


56

Windows 7では、それはパスにあります

C:\Users\[username]\.android
  • このパスに移動して削除 debug.keystore
  • プロジェクトをクリーンアップしてビルドします。

41

プロジェクトのデバッグ中に証明書の有効期限が切れた場合は、手動でアンインストールする必要があります

adb uninstall <package_name>シェルで実行してください 。


38

Macでは、ターミナルを開き(現在のユーザーのディレクトリが開くはずです)、cd ".android"(debug.keystoreが存在することを検証するための "ls")を行います。最後に「rm debug.keystore」でファイルを削除します。


36

Android SDKはと呼ばれるキーストアに「デバッグ」署名証明書を生成しdebug.keystoreます。Eclipseプラグインはこの証明書を使用して、生成された各アプリケーションビルドに署名します。

残念ながら、デバッグ証明書は365日間のみ有効です。新しいdebug.keystoreファイルを生成するには、既存のファイルを削除する必要があります。その場所はプラットフォームに依存します- 設定 -> Android- > ビルドで見つけることができます -> *デフォルトのデバッグキーストアにあります。

Windowsを使用している場合は、以下の手順に従ってください。

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

Eclipse:プロジェクトで、プロジェクトをクリーンアップします。Eclipseを閉じます。Eclipseを再度開きます。

Eclipse:エミュレーターを起動します。エミュレータからアプリケーションを削除します。

LinuxまたはMacを使用している場合は、以下の手順に従ってください。

debug.keystoreから手動で削除.androidフォルダます。

あなたは見つけることができます .androidこのようなフォルダ:home/username/.android

注:デフォルト .androidファイルは非表示になります。

場所メニューをクリックしてください。[ホームフォルダの選択]の下。[ビューのクリック]の下の[隠しファイルを表示]をクリックしてから、.androidフォルダーが表示されます。

debug.keystoreから削除します.android folder

次に、プロジェクトをクリーンアップします。Androidが新しい.android folderファイルを生成します。



33

うーん。非常に多くの人々がこれについて少し異なる経験をしたことが興味深いです。これがソフトウェアのリリースの準備ができていない兆候と見なされていた時代を覚えています。ユーザーがこれらの問題を目にする前に、チームは実際に修正していました:(

私自身の経験は少し違っていました。私はすでにProject> Cleanを試しましたが、それでも同じビルドエラーが発生しました。次に、最初の答えが言ったように、(。androidの下の)debug.keystoreを削除しました。まだ同じ問題が発生しました。それから私は再び掃除をしました、そして不思議の不思議さ、それはうまくいきました!

誤解しないでください。このスレッドのヒントのおかげで、うまく動作したことをうれしく思います。しかし、明らかにcleanは正しく機能していません。また、キーストアを削除した後、どのようにして期限切れのキーを見つけましたか?明らかに、EclipseまたはADTのどこかに問題があります。


Eclipseはファイルをキャッシュする傾向があるため、ディスク上でファイルが変更されたことを通知するために、クリーン/リフレッシュが必要になる場合があります。
navjotk

33

Ubuntuでは、これはうまくいきました:

に行ってhome/username/.android名前keystore.debugをに変更しましたkeystoreold.debug。次に、Eclipseを閉じてEclipseを起動し、SDK keystore.debugがそのフォルダーに新しい証明書を作成しました。

次に、USBデバッグまたは署名されていないAPK(「署名されていない」APK =デバッグ証明書で署名されている)を介してインストールしたアプリをアンインストール/再インストールする必要があります。


14

Windows XPの場合、debug.keystoreファイルに移動しC:\Documents and Settings\%userprofile%\.androidて削除し、Eclipseを再起動すると、プロジェクトがエラーなしでビルドされます。

パスの例:

C:\Documents and Settings\raja.ap\.android\

読み取りここ-のために、より多くの


13

Windowsでは、debug.keystoreファイルはC:\Users\%Username%\.androidフォルダのローカルです。このファイルは、Android SDKのインストール時に作成され、1年間のみ有効です。この期間の後、このエラーが発生し始めますError getting final archive: Debug certificate expired on xx/xx/xxxx

このエラーを削除するには、ファイルを削除してプログラムを再度実行します。私のEclipseでは有効にProject->Build Automaticallyして直接機能するようにしましたが、無効にした場合はプロジェクトをクリーンアップする必要がありProject->Cleanます。プロジェクトを選択して[OK]を押します。次に、手動でビルドする必要があります。プロジェクトを3回クリックしてを選択しBuild projectます(注-このオプションは、プロジェクトメニューで[自動ビルド機能]を無効にしている場合にのみ表示されます)。


13

最初に日食を閉じてから、

ウィンドウキー+ 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

この後、日食を再開します。


7

あなたがインストールした後Android SDK in Eclipse、それはあなたの中のデバッグ署名証明書生成鍵ストアと呼ばれるdebug.keystoreを。Eclipseプラグインは、この証明書を使用して、生成された各アプリケーションビルドに署名します。

現在、このデバッグ証明書の問題は、1年間または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


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.