Ihr Projekt enthält Fehler. Beheben Sie diese bitte, bevor Sie es ausführen

187

Ich entwickle eine einfache Android-Anwendung. Wenn ich Eclipse ausführe, wird der folgende Fehler angezeigt:

Ihr Projekt enthält Fehler. Beheben Sie diese bitte, bevor Sie es ausführen.

Ich kann keinen Fehler in meinem Projekt finden oder es gibt keinen Fehler in meiner Anwendung. Unter dem Anwendungsnamen befindet sich ein rotes Kreuz, jedoch nicht unter einem anderen Dateinamen.

Hat jemand anderes dieses Problem?

JackeyChan
quelle
Leider hat keines davon für mich funktioniert ... Das Erstellen neuer Projekte und das Löschen von .android ... hat nicht funktioniert. Anscheinend hat Eclipse einige Einstellungen verloren und weigert sich, ein neues Projekt entweder Java oder Android auszuführen
JPM
3
Schauen Sie immer in das "Marker" -Panel. Dort werden die Fehler zusammengefasst.
Thorbjørn Ravn Andersen

Antworten:

220

Dies ist normalerweise auf Fehler im Erstellungspfad zurückzuführen.

Wenn Sie Eclipse verwenden, können Sie eine Ansicht hinzufügen, in der alle Fehler mit der Bezeichnung "Probleme" aufgelistet sind:

Geben Sie hier die Bildbeschreibung ein

Andernfalls können Sie versuchen, das Projekt zu bereinigen. Dies löst normalerweise einige Probleme.

Wenn Sie Ressourcen von außerhalb Ihrer IDE hinzufügen oder ändern, möchten Sie die Ressourcen neu laden und bereinigen.

BEARBEITEN (Kommentar von anonymem Benutzer)

Dies kann auch durch ein veraltetes "Debug-Zertifikat" verursacht werden, das wie folgt behoben wurde:

Wenn alles fehlschlägt, wird dies die Lösung sein:

Löschen Sie Ihr Debug-Zertifikat unter ~/.android/debug.keystore(unter Linux und Mac OS X). Das Verzeichnis ist so etwas wie %USERPROFILE%/.androidunter 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.

Dies ist auch ein weiterer Fix für "setContentView (R.layout.main)". Fehler, der besagt, dass R.layout.main nicht gefunden werden kann, wenn es tatsächlich generiert wird. (R kann nicht in eine Variable aufgelöst werden).

Dies ist auch eine weitere Korrektur für den Fehler "Ihr Projekt hat Fehler ..." und Sie können keine finden. Nach dem Generieren eines neuen Debug-Zertifikats müssen noch bereinigt und neu erstellt werden.

Jason Rogers
quelle
5
Es ist wichtig zu verstehen, dass Probleme nicht immer für eine Quellcodedatei mit einer Zeilennummer gemeldet werden. Probleme mit dem gesamten Projekt, wie z. B. Probleme mit dem Erstellungspfad, werden auf Projektebene angehängt. Sie können den Problemtext nur in der Problemansicht sehen.
Konstantin Komissarchik
6
Der abgelaufene Debug-Schlüssel macht mich normalerweise jedes Jahr. Ich sollte wirklich eine Erinnerung in meinen Kalender einfügen oder so.
Harlo Holmes
Es behebt meinen gleichen Fehler, zumindest das rote x ist aus dem Projektnamen verschwunden. Danke ... große Hilfe
wocmultimedia
2
Abgelaufener Debug-Schlüssel - so einfach :) Danke
6bytes
Wie reinigst und baust du wieder auf?
Ian Davis
35

Gehen Sie zuerst zu Fenster -> Ansicht anzeigen -> Fehlerprotokolle im Menü. Es werden Fehlerprotokolle angezeigt, falls vorhanden. Versuchen Sie dann, das Projekt zu bereinigen und erneut zu erstellen.

chikka.anddev
quelle
Im Allgemeinen ist es eine gute Idee, diese Fehleransicht beizubehalten - und auch zu versuchen, die angezeigten Warnungen zu korrigieren.
Heiko Rupp
3
Die Fehlerprotokollansicht zeigt eine Fehlfunktion in Eclipse-Plugins. Es ist hilfreich, um Probleme zu melden, aber die Einträge weisen nicht auf Probleme im Benutzeranwendungscode hin. Dafür möchten Sie die Ansicht Probleme.
Konstantin Komissarchik
1
Ich habe ein ähnliches Problem (aber mit NDK / C ++). Meine NDK + Android-Projekte werden erfolgreich kompiliert, aber Eclipse erlaubt es nicht, sie auszuführen / zu debuggen. Ich habe einen Fehler bei #include <Liste> (Ich habe den Ressourcen keinen STL-Pfad hinzugefügt und möchte dies auch nicht tun). Wie könnte dies möglich sein, gibt es eine Option zum Ausschalten? Ich möchte diese nicht so realen "Fehler" sehen, aber ich möchte eine Anwendung ausführen (die KEINE Kompilierungs- / Linkfehler enthält).
Krystian Bigaj
Für mich war das Problem das Debug-Zertifikat. Hilfreich war auch der Vorschlag, die Fenster "Probleme" zu öffnen. Ich habe unter das Fenster "Fehler" geschaut, in dem nichts angezeigt wurde.
user590849
Ich habe diesen Fehler im Fehlerprotokoll erhalten: Fehler beim Generieren des endgültigen Archivs: Debug-Signaturschlüssel kann nicht abgerufen werden.
Pratik Butani
13

Nun, in meinem Fall wurden einige Bibliotheken zweimal angesprochen in:

Projekt >> Eigenschaften >> Java-Erstellungspfad >> Bibliotheken

Ich musste nur das Duplikat entfernen und es funktionierte einwandfrei ohne Reinigung oder Auffrischung.

Mahorad
quelle
Deaktivieren Sie JAR-Dateien von Projekt >> Eigenschaften >> Java-Erstellungspfad >> Registerkarte Bestellen und Exportieren
Ajay Takur
Falls VORSICHT Symbolfehler! im Projekt zeigen. Ich habe die folgenden Schritte gelöst: Projekt >> Eigenschaften >> Java-Erstellungspfad im linken Bereich und Auswahl der Bibliotheken in der JAR-Datei im rechten Bereich (3 Spalten) ist ein Fehler. Fügen Sie einfach die JAR-Datei im selben Projektbibliotheksordner im Popup hinzu. Löschen Sie die fehlerhafte lib-Datei. Für mich geht das.
Gnganpath
10

Ich habe das bei einem bestehenden Projekt gesehen. Ich hatte einige Änderungen vorgenommen, aber nichts Neues importiert. Ein Neustart von Eclipse hat nicht geholfen.

Project->Clean hat das Problem gelöst.

Mächtig
quelle
6

Dieser Fehler tritt häufig auf, wenn ich ein neues Projekt in meinen Arbeitsbereich importiere.

Grund : Einige notwendige Dateien (LikeR.Java) werden nicht in den jeweiligen Paketen generiert.

Heilen : Projekte bereinigen und erstellen. Alle Dateien, die automatisch generiert werden müssen, sind nach dem Erstellen des Projekts vorhanden.

Bestes Glück.

Prasham
quelle
5

Das ist mir passiert. Nach dem Format meines Systems,
beim Importieren eines Projekts denselben Fehler an

entferne zuerst die Datei debug.keystore und gehe dann zu -

Projekt -> Projekteigenschaften -> Bibliothek auswählen -> Entfernen -> Bibliotheken erneut hinzufügen.

Es funktioniert für mich ......

user3209435
quelle
4

Gehen Sie zum Menü Projekte und klicken Sie auf Menüpunkt bereinigen.

Schließen Sie danach die Sonnenfinsternis und öffnen Sie sie erneut und versuchen Sie sie zu kompilieren.

Es ist ein Softwarefehler, den Sie manchmal finden.

Vinay
quelle
4

Dies kann auch passieren, wenn Sie erforderliche Dateien verschieben. Überprüfen Sie einfach die Problemansicht (Menü window -> show view -> Problems) wie hier beschrieben

Filippo Mazza
quelle
3

Ich hatte genau das gleiche Problem. Eine Lösung, die funktionieren würde, wäre die Erstellung eines brandneuen Projekts, aber ich glaube nicht, dass dies erforderlich ist. Für mich war das Problem, dass das automatisch generierte Debug-Zertifikat abgelaufen war. Durch das Löschen dieser Datei konnte Eclipse diese Datei neu erstellen, wodurch das Problem behoben wurde. Sie können keine App mit einem ungültigen Zertifikat ausführen, egal ob es sich um ein Debug- oder ein Release-Zertifikat handelt. Beachten Sie, dass die Reinigung meines Projekts nicht funktioniert hat. Weitere Informationen finden Sie unter: Fehler "Debug-Zertifikat abgelaufen" in Eclipse Android-Plugins

Michael
quelle
Sie sind nicht allein, siehe auch: stackoverflow.com/questions/8467835/…
Asmo Soinio
3

Kürzlich bin ich auf diesen Fehler gestoßen. Ich war wirklich in einer Ecke ohne Hilfe, dann habe ich es herausgefunden. Dieser Fehler kann aus folgenden Gründen auftreten:

  • Ein Fehler im Projektcode
  • Unsachgemäße Verknüpfung externer Bibliotheksdateien mit dem Projekt
  • Am wichtigsten: Wenn Ihre debug.keystore-Datei abgelaufen ist.

Die ersten beiden Fälle sind leicht zu identifizieren, der dritte ist wie das Durchsuchen einer Blackbox in einem dunklen Raum.

Entfernen Sie also neben Project -> Clean auch Ihre debug.keystore-Datei.

Ich verwende Mac + Eclipse. Zum Entfernen habe ich den Befehl rm ~/.android/.debug.keystorein ein Terminal geschrieben.

Nikesh K.
quelle
3

Gibt es eine Möglichkeit, vorhandene Fehler im Projekt zu ignorieren? Ähnliches gilt für Eclipse bei Java-Projekten.

In meinem Fall existieren die Fehler im jni-Verzeichnis. Die Fehler werden angezeigt, obwohl ndk-buid erfolgreich ist. Ich möchte also nur die von Eclipse gemeldeten Fehler ignorieren.

Wenn die Fehler tatsächlich Fehler sind, sollte ich während des ndk-Builds ungelöste Symbole erhalten.

Ich habe sichergestellt, dass Standard-Android-Includes im Include-Pfad enthalten sind.

Auch mein Projekt ist vom Typ android / c / c ++.

Ich habe zwei Builder mit dem Projekt verbunden 1. statndard android builder 2. benutzerdefinierte ndk builder, die explizit erstellt werden.

sharadendu sinha
quelle
( eclipse.org/forums/index.php/t/274600 ) Gehen Sie zu Fenster-> Einstellungen-> C / C ++ -> Codeanalyse und deaktivieren Sie falsche Warnungen.
Bartolo-Otrit
2

Simulieren Sie selbst einen Fehler im Unterricht. Speichern Sie es dann und es würde mehr Fehler anzeigen, als Sie simuliert haben. Für mich war es ein falscher Import und das hat geholfen.

Straßenjunge
quelle
2

Ich hatte ein ähnliches Problem.

Auf der Registerkarte "Probleme" wurde ein Fehler mit der Meldung "Fehler beim Generieren des endgültigen Archivs: Debug-Zertifikat abgelaufen am" gefunden 2/22/12 1:49 PM " gefunden.

Mein Rat ist also, auf der Registerkarte Probleme nach weiteren Informationen zu suchen.

Tschüss

Massimo Nicolardi
quelle
1

Wenn keine der oben genannten Lösungen funktioniert, sollten Sie die READ ONLYEigenschaft des Projektordners überprüfen. Wenn er schreibgeschützt ist, kann der Compiler die Ressourcen, R.java und andere Dex APK usw. -Dateien nicht überschreiben. Dies tritt daher auf .. Das ist mir passiert und ich habe es nach einem langen Kampf behoben .. Happy Programming.

Pervez Alam
quelle
1

Aus irgendeinem Grund zeigte die Sonnenfinsternis nur ein! Fehler auf root und nicht angegeben, um welchen Fehler es sich handelt. Gehen Sie zu Windows -> Ansichten anzeigen -> Probleme. Möglicherweise finden Sie dort alle vorherigen Fehler, löschen sie, führen einen sauberen Build durch und erstellen erneut. Sie sehen die genauen Fehler.

Eclipse zeigt einen Fehler im Android-Projekt an, kann den Fehler jedoch finden

Hemanshu
quelle
1

Ich hatte genau dieses Problem, als ich versuchte, die Doodlz- App aus dem Buch Android für Programmierer unter Mac OS X mit Eclipse Juno auszuführen .

Nachdem ich die Demos aus dem Buch heruntergeladen und entpackt hatte, vergaß ich, die Berechtigung der Dateien zu ändern. Sie waren auf meinem System schreibgeschützt, daher war dies das erste Problem .

Das zweite Problem wurde durch Auswahl eines Build-Ziels in Eclipse behoben. Dies wurde behoben, indem Sie zu: Projekt> Eigenschaften gingen und auf das Android- Feld im linken Bereich klickten, um eine Option als Projekterstellungsziel auswählen zu können. In meinem Fall war dies:

  Target Name     Vendor         Platform    API Level
> Google APIs     Google Inc.    4.0.3       15

Das Reinigen und Wiederherstellen des Projekts zeigte dann keine Fehler.

Um die App auszuführen, klicken Sie mit der rechten Maustaste auf das Paket (auf der Registerkarte Paket-Explorer) und wählen Sie dann: Ausführen als> Android-Anwendung

Karlphillip
quelle
1

Löschte einfach mein Debug-Zertifikat unter ~/.android/debug.keystoreund Project->Cleanlöste das Problem.

Shylendra Madda
quelle
0

Löschen Sie den Ordner .android aus Ihren Dokumenten & Einstellungen \ User \ unter XP und \ User \ unter Win7. Erstellen Sie die AVD erneut und erstellen Sie ein neues Projekt.

2ndlife
quelle
0

Was dieses Problem für mich verursachte, war keines der oben genannten, sondern einfach, dass ich das Attribut "debuggable" nach einer Veröffentlichung in der Datei manifest.xml auf false gesetzt hatte. D'oh!

Natürlich hat mich weder das LogCat-, das Fehlerprotokoll-, die Konsolen- noch das Problemfenster darauf aufmerksam gemacht.

Ben Clayton
quelle
0

Ich hatte den gleichen Fehler, als ich ein Projekt auf einen anderen Computer kopierte.

Ich habe dann alle Eigenschaften des Projekts auf beiden Computern überprüft. Das einzige, was sich unterschied, war die Reihenfolge der Elemente im Java-Erstellungspfad - Registerkarte Reihenfolge und Export.

Ich habe die Elemente Android XXX und Android Dependencies über die anderen 2 in der Liste verschoben (in meinem Fall src- und gen-Ordner) und voila, es hat wieder funktioniert!

Ich bin mir nicht sicher, ob die andere Reihenfolge tatsächlich das Problem war, aber zumindest das Ändern (und erneutes Speichern der Eigenschaften) schien zu helfen ...

Dylan
quelle
0

Ich hatte genau das gleiche Problem nach dem Update des SDK und ADT. Mein Problem wurde behoben, indem der .android-Ordner (versteckt) unter gelöscht wurdeC:\Users\USERNAME\

Freddroid
quelle
0

Das passierte mir, als ich mit Maven experimentierte.

Rechtsklick auf Projekt -> Maven -> Maven-Natur deaktivieren hat das Problem für mich behoben.

Vasudev
quelle
0

Ja, das ist eine ziemlich kryptische Nachricht. Wenn Sie ein fehlerhaftes Projekt haben (z. B. eines, an dem Sie in der Vergangenheit gearbeitet haben), erhalten Sie diese Meldung (und keine Meldungen in den Bereichen Probleme / Fehlerprotokoll Ihres aktuellen Projekts).

Möglicherweise möchten Sie nur Ihr aktuelles Projekt ausführen. Dies kann vollkommen in Ordnung sein. Klicken Sie einfach auf den Abwärtspfeil rechts neben der Schaltfläche Ausführen, um Ihr Projekt auszuwählen.

Snowcrash
quelle
0

Versuchen Sie, Ihren Arbeitsbereich zu ändern. Ich bin mir nicht sicher, ob dies die genaue Lösung ist. Ich hatte das gleiche Problem für einige Zeit, bis ich meinen Arbeitsbereich änderte.

SajidKhan
quelle
0

In meinem Fall passiert es mit ADT 22.

Ich möchte keine Aktivität erstellen.

Nachdem ich das "appcompat_v7" als Bibliotheksprojekt entfernt habe. Ich arbeite

Yeung
quelle
0

Ich hatte ein ähnliches Problem, bei dem ich mein Projekt nicht ausführen konnte, aber keine Probleme im Code sah. Im Fehlerprotokollfenster wurde etwa "P / kann nicht zur Liste der Segmente P / in als übergeordnetes Element hinzugefügt werden" angezeigt. Ein Neustart von Eclipse löste das Problem.

Luboš Staráček
quelle