gen existiert bereits, ist aber kein Quellordner

91

Ich entwickle mein Android-Projekt. Nachdem ich eine nicht verwendete Bibliothek entfernt habe, wurde folgende Fehlermeldung angezeigt:

myproject/gen already exists but is not a source folder. Convert to a source folder or rename it

In meinem Aktivitätscode R.javakönnen nicht alle Ressourcen von aufgelöst werden.

Ich habe versucht, mit der rechten Maustaste auf mein Projekt zu klicken => Java Build Path => auf der Registerkarte "Quelle", ich habe gen / als Quelle hinzugefügt. Aber es hilft nicht bei dem Problem ...

Warum, wie kann man dieses Problem loswerden?

----AKTUALISIEREN----

Ich fand, dass die Sonnenfinsternis auch beschwert, dass "Projekt keine project.properties-Datei hat! Bearbeiten Sie die Projekteigenschaften, um eine festzulegen." , aber ich habe die Datei project.properties unter meinem Projekt. Warum beschwert es sich? Ich habe das Projekt bereinigt und "Projekteigenschaften behoben", aber es hilft nicht.

Leem.fin
quelle
5
Überprüfen Sie, ob Ihr src-Ordner einen beliebigen gen-Ordner enthält. wenn dort löschen. .keine Notwendigkeit, es manuell zu erstellen. Reinigen Sie Ihr Projekt einmal.
Padma Kumar
Hallo, mein src-Ordner enthält keinen gen-Ordner ...
Leem.fin
1
Ist mir nach dem Import eines Projekts passiert
max.mustermann
1
Sie haben eine sehr gute Antwort, derzeit mit 79 bewertet, aber Sie haben sie nicht akzeptiert. Du solltest es akzeptieren. Und Ihr "UPDATE" sollte eine separate Frage sein (und Sie möchten vielleicht sehen, ob jemand sie bereits beantwortet hat).
Steveha
Ich denke, meine Antwort wird bei diesem Problem helfen .. stackoverflow.com/questions/9738203/…
Ranjit

Antworten:

234

Ich habe das gleiche Problem.

Zwei Aktionen, zuerst:

    1.Klicken Sie mit der rechten Maustaste auf das Projekt und gehen Sie zu "Eigenschaften".
    2.Wählen Sie links "Java Build Path"
    3.Öffnen Sie die Registerkarte "Quelle"
    4.Klicken Sie auf "Ordner hinzufügen ..." und aktivieren Sie "gen" und "src".

zweitens: (weil die vorherige Aktion mich gebeten hat, etwas zu entfernen ... ich erinnere mich nicht, was es war ...)

    1. Klicken Sie mit der rechten Maustaste auf das Projekt und gehen Sie zu "Eigenschaften".
    2. Wählen Sie links "Java Build Path"
    3. Öffnen Sie die Registerkarte "Bibliotheken".
    4. Fügen Sie eine externe JAR hinzu. Fügen Sie die Google-API hinzu, die sich in Ihrem Android-Verzeichnis befindet (android-sdk \ platform \ android-yourversion)

Und jetzt funktioniert es bei mir!

AntoineP
quelle
10
In meinem Fall musste ich nur den oben genannten ersten Teil machen. Danke dir!
tm_forthefuture
Erste Lösung half mir auch beim ersten Versuch :)
Saad Qureshi
2
Hat funktioniert ... aber wie ist das passiert? Dummes Android. :-)
Ryan Detzel
Der erste Schritt hat bei mir funktioniert. Ich bin mir nicht sicher, wie oder warum Eclipse beschlossen hat, diese Ordner einfach zu löschen (.classpath schien sich nicht zu ändern) ...
ssawchenko
Prost .. Funktioniert gut :)
vjamit
37

Lösung:

Schritt 1 :

  • Klicken Sie mit der rechten Maustaste auf das Projekt und gehen Sie zu "Eigenschaften".
  • Wählen Sie "Java Build Path"
  • Wechseln Sie zur Registerkarte "Quelle". Entfernen Sie alle Quellen aus dem Quellordner im Erstellungspfad
  • Starten Sie Eclipse neu

Schritt 2 :

  • Klicken Sie mit der rechten Maustaste auf das Projekt und gehen Sie zu "Eigenschaften".
  • Wählen Sie "Java Build Path"
  • Wechseln Sie zur Registerkarte "Quelle"
  • Klicken Sie auf "Ordner hinzufügen ..." und überprüfen Sie den Quellordner "gen" und "src" im Erstellungspfad
  • Starten Sie Eclipse neu

Finale

Projekt (e) erstellen

Glücklicher Coder :)

Vinayak
quelle
1
check gen löst nur das Problem und funktioniert nicht mit src Ordner
Manikandan
Ich hätte meinen Tag verschwendet. Vielen Dank
Prakash
17
  1. Klicken Sie mit der rechten Maustaste auf das Projekt und gehen Sie zu Eigenschaften
  2. Wählen Sie links Java Build Path aus
  3. Öffnen Sie die Registerkarte Quelle
  4. Klicken Sie auf Ordner hinzufügen ... und überprüfen Sie gen und src
Shubham Das
quelle
Das ist die beste Antwort. Prägnant, Problem gelöst, Boom!
Ely
8

Dies wird durch die Verwendung des falschen Importers in Eclipse verursacht. Wenn Sie Android-Projekte haben, müssen Sie diese mit Android-> Vorhandenem Android-Code in Ihren Arbeitsbereich importieren , nicht mit Allgemein- > Vorhandene Projekte .

Geben Sie hier die Bildbeschreibung ein

Eric Cloninger
quelle
3

Ich musste den gesamten Gen-Ordner in Eclipse löschen, nicht aus dem Datei-Explorer. dann machte eine Reinigung und es wurde wieder aufgebaut. lustig, dass dies direkt geschah, nachdem ich einen Lint HTML-Bericht erstellt hatte.

j2emanue
quelle
Das hat auch bei mir funktioniert. Gerade die Gen-Datei gelöscht, und ein paar Sekunden später wurde neu generiert und alles ist wieder normal.
Sandy
2

Im Ordner gen erstellt ADT die R.java-Datei, in der Ihre Ressourcendefinitionen angegeben sind. Das heißt, Ihre Ressourcen (Farben, Abmessungen, Layouts usw.) werden in Code konvertiert und in R.java im Ordner gen abgelegt.

Wenn Sie also die App erstellen, müssen Sie sicherstellen, dass der Ordner gen von Ihrer IDE als Quellcodeordner behandelt wird, da er die R-Klasse enthält.

In Ihrer IDE müssen Sie den Ordner gen als Quellordner markieren, damit sein Inhalt neben Ihrer Quelle erstellt wird.

Ihre Akzeptanzrate ist sehr niedrig. Wenn Sie möchten, dass Ihnen Menschen helfen, benötigen Sie eine hohe Akzeptanzrate.

Ollie C.
quelle
9
aber wie kann ich akzeptieren, wenn es keine richtige Antwort gibt? Ich überprüfe die Antworten, aber niemand ist die Lösung ... In meinem aktuellen Beitrag weiß ich beispielsweise, was gen / ist und wie es in Android funktioniert. Ich suche nach einer Lösung für mein aktuelles Problem. Aber noch keinen.
Leem.fin
1

Ich bin auf dasselbe Problem gestoßen und habe es wie folgt gelöst:

Klicken Sie im Paket-Explorer mit der rechten Maustaste auf den Ordner gen, suchen Sie "Pfad erstellen - Als Quellordner verwenden" und klicken Sie darauf.

Das ist es. Ich hoffe es wird helfen.

hywl51
quelle
1

Ich hatte SVN für ein Projekt mit dem gleichen Problem konfiguriert, alle Ordner und Dateien gelöscht, es erneut von SVN abgerufen und immer noch kein Glück. Das einzige, was geholfen hat, war das Zurücksetzen der Änderungen und das Löschen / erneute Importieren von Projekten in den Arbeitsbereich. Hoffe das hilft

milosmns
quelle
0

Das letzte Mal, als ich dieses Problem hatte, war es, weil ich die Quelle hinter den Kulissen auf einen anderen Zweig umgestellt habe. Nachdem ich Eclipse geschlossen und neu gestartet hatte, verschwand das Problem.

themarshal
quelle
0

Ich hatte einige der gleichen Symptome , löste sie aber anders:

Ich fand heraus, dass ich zwei Dateien im Zeichenverzeichnis hatte, die in Konflikt standen: icon.png und icon.xcf. Dies führte dazu, dass R fehlschlug. Ich habe die icon.xcf aus dem Weg geräumt und R generiert und das Projekt kompiliert.

Stephan Henningsen
quelle
0

Gehen Sie zu den Projekteigenschaften und dann zu Java Build Path, entfernen Sie den bereits vorhandenen Ordner. Klicken Sie dann auf Add Add Folder (Ordner hinzufügen) und dann Add Add the Source und Gen Folder. dann Drücken Sie OK ............ Es wird funktionieren ........

Singhak
quelle
0

Meine Lösung bestand darin, Folgendes in die .classpath-Datei einzufügen:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
    <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="src" path="gen"/>
    <classpathentry kind="output" path="bin/classes"/>
</classpath>
Pawel
quelle
0

Wir müssen auch unsere Importanweisungen überprüfen. Wenn wir 'android.R' importiert haben, müssen wir das entfernen.

Josua
quelle
0

Dies geschieht, weil Ihre .classpath-Datei irgendwie gelöscht wurde. Diese Datei enthält alle Informationen auf der Registerkarte Java-Erstellungspfad unter Projekteigenschaften. Sie können alle Informationen manuell hinzufügen, aber es gibt eine einfachere Möglichkeit, dieses Problem zu beheben.

Wenn Sie eine Kopie der .classpath-Datei auf Ihrem Computer haben, können Sie diese einfach kopieren und in Ihr Projektverzeichnis einfügen.

Patrick
quelle
0

Ich habe die hier gegebenen Vorschläge ausprobiert und hatte immer noch das Problem. Schließlich stellte sich heraus, dass Eclipse seine Importe falsch verstanden hat. Aus irgendeinem Grund wurden die Wörter "gen" und "src" am Anfang der Importzeile hinzugefügt. Ich musste alle Importzeilen von ändern

import gen.org.qtproject.qt5.android.bindings.QtApplication;

zu

import org.qtproject.qt5.android.bindings.QtApplication;

Sobald ich das getan hatte, wurde alles wieder normal.

Panonski
quelle