Eclipse Androidプラグインを使ってプロジェクトをビルドしていますが、コンソールウィンドウに次のようなエラーが表示されます。
[2010-02-03 10:31:14 - androidVNC]Error generating final archive:
Debug certificate expired on 1/30/10 2:35 PM!
どうやって直すの?
LinuxおよびMac OS X _の~/.Android/debug.keystore
の下にあるデバッグ証明書を削除します。ディレクトリは%USERPROFILE%/.Android
on Windowsのようなものです。
次にデバッグパッケージを作成しようとすると、Eclipseプラグインは新しい証明書を生成します。証明書を生成するためにクリーンアップしてからビルドする必要があるかもしれません。
インストール時に、Android SDKはdebug.keystore
というキーストアにdebug
署名証明書を生成します。 Eclipseプラグインはこの証明書を使用して、生成された各アプリケーションビルドに署名します。
残念ながら、デバッグ証明書は365日間有効です。新しいファイルを生成するには、既存のdebug.keystore
ファイルを削除する必要があります。その場所はプラットフォームによって異なります - Preferences - Android - Build - Default debug keystoreで見つけることができます。
新しい証明書が一致しないため、すべてのAVDでアップグレードできないため、開発用の.apkファイルをすべて削除する必要があるのは面倒です。他の開発用MAP-APIキーも入手する必要があります。別の解決策があります。
有効期限を任意に設定して、debug.keystore
に独自のデバッグ証明書を作成できます。 HOME
ディレクトリの下の.Android
フォルダでこれを行います。
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」、2文字の国コードを「US」として設定します。組織、都市、および州の値を "Unknown"のままにすることができます。この例では14000日の有効期間を使用しています。好きな値を使用できます。
Vistaでは、これはうまくいった:
DOS:del c:\user\dad\.Android\debug.keystore
Eclipse:Projectで、プロジェクトをクリーンにします。 Eclipseを閉じます。 Eclipseを再起動してください。
Eclipse:エミュレーターを起動してください。エミュレータからアプリケーションを削除します。
準備できた。
私はその誤りを言うとき私はかなり心配していた、しかし私はそれをここで読んでそして10分間遊んでからそれを直した。
削除:debug.keystore C:\Documents and Settings\\[user]\.Android
にあるプロジェクトをクリーンアップしてビルドします。
C:\Users\[username]\.Android
に移動し、debug.keystoreファイルを削除します。プロジェクトを整理して構築します。
~/.Android/debug.keystore
にあるキーストアを削除し、プロジェクトをクリーンにしてビルドします。
すべてのオプションで、新しいdebug.keystoreを入手できない場合は、Eclipseを再起動するだけです。
Windows 7では、パスにあります
C:\Users\[username]\.Android
debug.keystore
を削除しますプロジェクトのデバッグ中に証明書の有効期限が切れる場合は、 手動アンインストール :を実行する必要があります。
シェルでadb uninstall <package_name>
を実行してください。
Macでは、コンソールを開き(現在のユーザーのディレクトリが開くはずです)、cd ".Android"(debug.keystoreを検証するための "ls"があります)。最後に "rm debug.keystore"を実行してファイルを削除します。
Android SDKは、debug.keystore
というキーストアに「デバッグ」署名証明書を生成し、Eclipseプラグインはこの証明書を使用して、生成された各アプリケーションビルドに署名します。
残念ながら、デバッグ証明書は365日間有効です。新しいファイルを生成するには、既存のdebug.keystore
ファイルを削除する必要があります。その場所はプラットフォームによって異なります - 設定 - > Android - > Build - > *デフォルトのデバッグキーストアにあります。
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
ファイルを生成します。
H - m - m - m。これに関して非常に多くの人々がわずかに異なる経験をしたことに興味深い。私はこれがソフトウェアがリリースの準備ができていないというサインと考えられていた日を覚えています、そして、ユーザーがこれらの問題を見始める前にチームは実際にそれを直すでしょう:(
私自身の経験はちょっと違いました。私は既にProject> Cleanを試してみましたが、それでも同じビルド失敗をしました。それから私は最初の答えが言ったように(.Androidの下で)debug.keystoreを削除しました。それでも同じ問題がありました。それから私は再びきれいにしました、そして不思議の不思議、それはうまくいきました!
誤解しないでください。このスレッドのヒントのおかげで、うまくいったことをうれしく思います。しかし、明らかにクリーンではうまく機能していません。キーストアを削除した後に期限切れのキーがどのように検出されたのですか。明らかに何かがEclipseかADTに問題があります - どちらがよくわからない。
私は数週間前にこの問題を抱えていました。私は最初にAndroidの開発者向けサイトで トラブルシューティング を試しましたが、うまくいきませんでした。その後、私は自分の問題を解決したAndroid SDKを再インストールしました。
Ubuntuでは、これはうまくいきました:
私はhome/username/.Android
に行き、私はkeystore.debug
をkeystoreold.debug
に改名しました。その後、Eclipseを閉じてEclipseを起動し、SDKがそのフォルダーに新しい証明書keystore.debug
を作成しました。
その後、USBデバッグまたは署名されていないAPK( "unsigned" APK =デバッグ証明書で署名されている)を介してインストールしたアプリをアンインストール/再インストールする必要があります。
Windows XPの場合はC:\Documents and Settings\%userprofile%\.Android
に移動し、 debug.keystore fileを削除してEclipseを再起動すると、プロジェクトはエラーなしでビルドされます。
パスの例:
C:\Documents and Settings\raja.ap\.Android\
続きを読む 。
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
を選択します(注 - このオプションは、「プロジェクト」メニューで「自動的に構築」機能が無効になっている場合にのみ表示されます)。
まずEclipseを閉じてから
ウィンドウでCMDを開く Key + R または 管理者として実行
次の手順に従います
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 という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 ファイルを削除するだけです。
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