Ich verwende Eclipse Android -Plugins, um ein Projekt zu erstellen, aber im Konsolenfenster wird der folgende Fehler angezeigt:
[2010-02-03 10:31:14 - androidVNC]Error generating final archive:
Debug certificate expired on 1/30/10 2:35 PM!
Wie behebe ich das?
Löschen Sie Ihr Debug-Zertifikat unter ~/.Android/debug.keystore
unter Linux und Mac OS X; Das Verzeichnis ist so etwas wie %USERPROFILE%/.Android
on Windows.
Das Eclipse-Plugin sollte dann ein neues Zertifikat generieren, wenn Sie das nächste Mal versuchen, ein Debug-Paket zu erstellen. Möglicherweise müssen Sie bereinigen und dann erstellen, um das Zertifikat zu generieren.
Bei der Installation generiert das Android SDK ein debug
Signaturzertifikat für Sie in einem Schlüsselspeicher mit dem Namen debug.keystore
. Das Eclipse-Plug-in verwendet dieses Zertifikat, um jeden generierten Anwendungsbuild zu signieren.
Leider ist ein Debug-Zertifikat nur 365 Tage gültig. Um einen neuen zu generieren, müssen Sie die vorhandene debug.keystore
-Datei löschen. Der Speicherort ist plattformabhängig. Sie finden ihn in Einstellungen - Android - Build - Standard-Debug-Keystore.
Es ist mühsam, alle Ihre APK-Entwicklungsdateien löschen zu müssen, da das neue Zertifikat nicht übereinstimmt und Sie sie nicht in allen Ihren AVDs aktualisieren können. Sie müssen auch einen anderen MAP-API-Entwicklungsschlüssel erwerben. Es gibt noch eine andere Lösung.
Sie können Ihr eigenes Debug-Zertifikat in debug.keystore
mit dem gewünschten Ablaufdatum erstellen. Führen Sie dies im Ordner .Android
unter Ihrem Verzeichnis HOME
aus:
keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -storepass Android -keypass Android -keyalg RSA -validity 14000
keytool.exe
befindet sich im JDK-Ordner bin (z. B. C:\Program Files\Java\jdk1.6.0_31\bin\
unter Windows).
ADT setzt den Vor- und Nachnamen im Zertifikat auf "Android Debug", die Organisationseinheit auf "Android" und den aus zwei Buchstaben bestehenden Ländercode auf "US". Sie können die Werte für Organisation, Stadt und Bundesland als "Unbekannt" belassen. In diesem Beispiel wird eine Gültigkeit von 14000 Tagen verwendet. Sie können jeden beliebigen Wert verwenden.
Unter Vista hat dies funktioniert:
DOS: del c:\user\dad\.Android\debug.keystore
Eclipse: Bereinigen Sie das Projekt in Project. Schließen Sie Eclipse. Öffnen Sie Eclipse erneut.
Eclipse: Starten Sie den Emulator. Entfernen Sie die Anwendung aus dem Emulator.
Du bist startklar.
Ich war ziemlich besorgt, als ich diesen Fehler sagte, aber ich habe ihn dadurch behoben, dass ich hier gelesen und 10 Minuten lang herumgespielt habe.
Löschen: debug.keystore befindet sich in C:\Documents and Settings\\[user]\.Android
, Bereinigen und erstellen Sie Ihr Projekt.
C:\Users\[username]\.Android
und lösche die debug.keystore-Datei.Bereinigen und erstellen Sie Ihr Projekt.
Löschen Sie Ihren Schlüsselspeicher in ~/.Android/debug.keystore
Bereinigen und erstellen Sie Ihr Projekt.
In allen Optionen, wenn Sie den neuen debug.keystore nicht bekommen können, starten Sie einfach Eclipse neu.
In Windows 7 ist es am Weg
C:\Users\[username]\.Android
debug.keystore
Wenn ein Zertifikat während des Debuggens eines Projekts abläuft, müssen Sie Folgendes ausführen: manuelle Deinstallation:
Bitte führen Sie adb uninstall <package_name>
in einer Shell aus.
Öffnen Sie auf einem Mac die Konsole (das Verzeichnis des aktuellen Benutzers sollte sich öffnen), cd ".Android" ("ls" zur Überprüfung, ob debug.keystore vorhanden ist). Schließlich "rm debug.keystore", um die Datei zu entfernen.
Das SDK Android generiert in einem Keystore mit dem Namen debug.keystore
ein "Debug" -Signaturzertifikat. Das Eclipse-Plug-In signiert mit diesem Zertifikat jeden generierten Anwendungsbuild.
Leider ist ein Debug-Zertifikat nur 365 Tage gültig. Um einen neuen zu generieren, müssen Sie die vorhandene debug.keystore
-Datei löschen. Der Speicherort ist plattformabhängig - Sie finden ihn in Einstellungen -> Android -> Erstellen -> * Standard-Debug-Keystore.
DOS: del c:\user\dad.Android\debug.keystore
Eclipse: Bereinigen Sie das Projekt in Project. Schließen Sie Eclipse. Öffnen Sie Eclipse erneut.
Eclipse: Starten Sie den Emulator. Entfernen Sie die Anwendung aus dem Emulator.
Löschen Sie debug.keystore
manuell aus dem Ordner .Android
.
Sie finden den Ordner .Android
folgendermaßen: home/username/.Android
Hinweis: Die Standarddatei .Android
wird ausgeblendet.
Klicken Sie also auf das Orte-Menü. Unter Home-Ordner auswählen. Unter click on view, unter show hidden files wird der Ordner .Android
angezeigt.
Löschen Sie debug.keystore
aus .Android folder
.
Dann bereinigen Sie Ihr Projekt. Nun Android generiert eine neue .Android folder
Datei.
Ich hatte dieses Problem vor ein paar Wochen. Ich habe zuerst das Troubleshooting auf der Entwicklerseite Android ausprobiert, aber ohne Glück. Danach habe ich das Android SDK neu installiert, wodurch mein Problem behoben wurde.
Hmmm. Interessant, wie viele Menschen etwas andere Erfahrungen damit gemacht haben. Ich erinnere mich an die Tage, als dies als Zeichen dafür gewertet wurde, dass die Software noch nicht zur Veröffentlichung bereit war und das Team sie tatsächlich beheben würde, BEVOR Benutzer diese Probleme bemerkten :(
Meine eigene Erfahrung war nur ein bisschen anders. Ich hatte bereits Project> Clean ausprobiert, aber immer noch den gleichen Buildfehler. Dann habe ich den debug.keystore (unter .Android) gelöscht, genau wie die erste Antwort sagte. Habe immer noch das gleiche Problem. Dann machte ich wieder eine Reinigung und Wunder, es funktionierte!
Versteht mich jetzt nicht falsch, ich bin froh, dass ich es dank der Hinweise in diesem Thread zum Laufen gebracht habe. Aber eindeutig funktioniert Clean nicht richtig und wie hat es einen abgelaufenen Schlüssel gefunden, nachdem ich den Keystore gelöscht habe? Offensichtlich stimmt etwas nicht mit Eclipse oder dem ADT - nicht so sicher, welches.
Auf Ubuntu hat das funktioniert:
Ich bin zu home/username/.Android
gegangen und habe keystore.debug
in keystoreold.debug
umbenannt. Ich habe dann Eclipse geschlossen, Eclipse gestartet und SDK hat in diesem Ordner ein neues Zertifikat keystore.debug
erstellt.
Anschließend müssen Sie Apps deinstallieren/erneut installieren, die Sie über USB-Debugging oder ein nicht signiertes APK ("unsigniertes" APK = mit Debug-Zertifikat signiert) installiert haben.
Unter Windows XP gehen Sie zu C:\Documents and Settings\%userprofile%\.Android
und löschen Sie die Datei debug.keystore . Starten Sie Eclipse neu. Jetzt wird Ihr Projekt fehlerfrei erstellt.
Beispielpfad:
C:\Documents and Settings\raja.ap\.Android\
In Windows befindet sich die Datei debug.keystore
im Ordner C:\Users\%Username%\.Android
. Diese Datei wird bei der Installation Ihres Android SDK erstellt und ist nur für ein Jahr gültig. Nach diesem Zeitraum wird der Fehler Error getting final archive: Debug certificate expired on xx/xx/xxxx
angezeigt.
Um diesen Fehler zu beheben, löschen Sie einfach die Datei und führen Sie das Programm erneut aus. In meinem Eclipse habe ich Project->Build Automatically
aktiviert, so dass es direkt funktioniert hat. Falls Sie es deaktiviert haben, müssen Sie das Projekt Project->Clean
bereinigen. Wählen Sie Ihr Projekt aus und klicken Sie auf OK. Dann müssen Sie es manuell erstellen. 3. Klicken Sie auf Ihr Projekt und wählen Sie Build project
. (Hinweis - Diese Option wird nur angezeigt, wenn Sie die Funktion Automatisch erstellen im Menü Projekte aktiviert haben.)
Schließen Sie zuerst die Sonnenfinsternis, dann
Öffnen Sie CMD über das Fenster Taste + R oder über Als Admin ausführen
Folge dem folgenden Schritt
del "%USERPROFILE%\.Android\debug.keystore"
keytool -genkey -v -keystore "%USERPROFILE%\.Android\debug.keystore" -alias androiddebugkey -storepass Android -keypass Android -keyalg RSA -validity 30000
nach diesem Neustart Eclipse.
Nach der Installation von _Android SDK in Eclipse
_ wird ein Debug-Signaturzertifikat für Sie in einem Schlüsselspeicher mit dem Namen debug.keystore generiert. Das Eclipse-Plug-in verwendet dieses Zertifikat, um jeden generierten Anwendungsbuild zu signieren.
Das Problem mit diesem Debug-Zertifikat besteht nun darin, dass es nur ein Jahr oder 365 Tage gültig ist. _If your Eclipse IDE uses an expired debug certificate, you will not be able to create and/or deploy an Android app
_.
Um dieses Problem zu beheben, müssen Sie lediglich die Datei debug.keystore löschen.
Go to Preferences
Android
Build
Default debug keystore
Dort sollte sich der Ordner befinden, in dem sich die Datei befindet. Löschen Sie einfach diese Datei und Sie können loslegen.
Für mehr Information. du kannst besuchen
http://developer.Android.com/tools/publishing/app-signing.html
Um dieses Problem zu beheben, löschen Sie einfach die Datei debug.keystore.
Der Standardspeicherort für AVDs ist
In ~/.Android/unter OS X und Linux.
In C:\Dokumente und Einstellungen\.Android\unter Windows XP
In C:\Users\.Android\unter Windows Vista und Windows 7.
Siehe auch diesen Link, der hilfreich sein kann.
http://developer.Android.com/tools/publishing/app-signing.html