Eclipse Android und Gitignore

188

Welche Dateien / Ordner kann ich ignorieren, um sie in git aufzunehmen?

Ich habe ein gutes Projekt kopiert, die Ordner gen und bin entfernt und versucht, die App auszuführen. Im Android-Startfenster wird Folgendes angezeigt: "Ihr Projekt enthält Fehler. Beheben Sie diese bitte, bevor Sie Ihre Anwendung ausführen. Auf dem Symbol links neben dem Projekt im Paket-Explorer befindet sich ein rotes X. Während der Ordner gen in nicht vorhanden ist Windows Explorer im Paket-Explorer.

user401120
quelle
1
Führen Sie eine 'Aktualisierung' des Projekts durch (Rechtsklick auf Projekt / Aktualisierung) oder über Menü> Projekt> Projekt bereinigen. - Dies kann Ihnen helfen, die Fehlermeldungen in Eclipse zu beseitigen. Manchmal hilft leider auch nur ein Eclipse-Neustart. Eclipse ist nicht sehr zuverlässig, aber ein gutes kostenloses Tool für den Anfang. (Ich habe bereits selbst zu IntelliJ IDEA gewechselt. Viel besser, aber nicht kostenlos.)
Mathias Conradt
1
@ Mathias Lin: Es gibt eine neue "Community Edition" von IntelliJ IDEA , die kostenlos ist.
Greg Hewgill
@ Greg Hewgill: Ja, aber die Community Edition bietet keine integrierte Android-Unterstützung.
Mathias Conradt
2
@MathiasLin Intellij IDEA10: kostenlose IDE für Android-Entwicklung | JetBrains IntelliJ IDEA Blog Ich weiß, dass es ein paar Jahre her ist, aber ich bin über diesen Artikel gestolpert und habe die veralteten Informationen bemerkt, also dachte ich, ich würde die (jetzt alten) Nachrichten einwerfen. Die IntelliJ IDEA Community Edition bietet jetzt Unterstützung für die Android-Entwicklung. Die Ankündigung wurde am 19. Oktober 2010 veröffentlicht. Nur wenige Monate nach Ihrem Kommentar.
David Draughn
@DavidDraughn Ja, IDEA bereits seit 2 Jahren zu verwenden, kann es auch empfehlen.
Mathias Conradt

Antworten:

261

Es gibt Dateitypen, die ignoriert werden müssen

# built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
bin/
gen/

# Local configuration file (sdk path, etc)
local.properties

# Eclipse project files
.classpath
.project

# Proguard folder generated by Eclipse
proguard/

# Intellij project files
*.iml
*.ipr
*.iws
.idea/

Von Gitignore auf Github

Vik Gamov
quelle
17
In der Tat wurde dies auf GitHub aktualisiert, es enthält unter anderem auch die .project, ich bin hier nicht einverstanden und möchte Ihre Meinung. Szenario: Ich habe meinem Projekt neue Klassen hinzugefügt. Als ich von einer anderen Maschine zog, waren sie nicht im Projekt. Bitte überprüfen Sie es aus: github.com/github/gitignore/blob/master/Global/…
Daniel
16
Ich stimme dir zu @Daniel. Ich glaube, es ist falsch (wie in der Gitignore-Datei vorgeschlagen, auf die Sie auf GitHub verlinken), auszuschließen .project, .classpathund .settings. Diese sind Teil des Projekt-Setups, das Sie in Git erfassen möchten.
mgd
33

Was ich normalerweise hinzufüge, .gitignoreist:

bin
gen

binund genwerden während des Codierens ständig geändert, sodass sie nicht in das Git-Repository aufgenommen werden müssen. Auch, manchmal füge ich .classpathund .projectwelche Eclipse - spezifische Dateien, weil ich vielleicht ein neues Android - Projekt auf der Basis dieser gleichen Quellen erstellen mag, aber in einem anderen Betriebssystem oder IDE.

In Bezug auf den Fehler würde ich das Projekt bereinigen und / oder versuchen, das Dienstprogramm " Projekteigenschaften reparieren" auszuführen (klicken Sie mit der rechten Maustaste auf "Projekt -> Android-Tools -> Projekteigenschaften reparieren").

Cristian
quelle
Wie wäre es, den Fehler tatsächlich zu identifizieren und zu beheben? Warum kann das Projekt bereinigt werden, wenn es noch nicht kompiliert wurde?
Justin Buser
7

Es ist sicher, bin und gen ohne Probleme zu ignorieren. Wenn ich Probleme mit einem Projekt-Setup habe, gehe ich folgendermaßen vor: Erstens - haben Sie sich die Registerkarte "Probleme" in der Ansicht unter der Editor-Ansicht angesehen - enthält sie im Allgemeinen detailliertere Informationen zu Projektfehlern. Wenn es dort nichts aussagekräftiges gibt, mache ich die folgenden Dinge:

  1. Wenn ich Probleme mit Eclipse habe, die mir Phantomfehler im Projekt verursachen, wird dies im Allgemeinen durch Bereinigen des Projekts behoben. Es befindet sich im Menü unter Projekt> Reinigen.
  2. Wenn dies nicht funktioniert, versuche ich normalerweise, mit der rechten Maustaste auf das Projekt zu klicken und gehe zu Android Tools> Projekteigenschaften korrigieren.
  3. Mein letzter Ausweg ist es, Eclipse neu zu starten und den Gen-Ordner zu löschen.
QRohlf
quelle
2

Verwenden Sie diese Website am besten, um Folgendes zu generieren: http://www.gitignore.io/

Jacky
quelle
Dies wiederholt nur, was eine frühere Antwort sagt.
-28

Die einfache Antwort auf diese Frage lautet *. *. Grundsätzlich ist es völlig sicher , alles zu ignorieren, was Sie nicht zur Versionskontrolle hinzufügen möchten. Davon abgesehen hängt es wirklich davon ab, was Sie mit Git erreichen möchten. Wenn Sie Ihr Projekt an einer anderen Stelle aus demselben Repository auschecken / importieren möchten, sollten Sie höchstens / bin / ignorieren . und / gen / . Ich würde die Ordner selbst (dh / bin, / gen) nicht ignorieren, nur um die richtige Verzeichnisstruktur für Ihr Projekt beizubehalten.

Das beantwortet die ursprüngliche Frage, hat aber nichts mit dem Problem zu tun, das Sie haben. Um das Problem zu lösen, müssen Sie weitere Informationen veröffentlichen, insbesondere was auf der Registerkarte Probleme aufgeführt ist. Wenn Sie die Registerkarte Probleme nirgendwo sehen können, klicken Sie auf das Menü Fenster, zeigen Sie die Ansicht an, wählen Sie dann Probleme aus, wenn sie vorhanden sind, oder klicken Sie auf eine andere und suchen Sie unter Allgemein, um sie zu finden.

Justin Buser
quelle
3
Das ist völlig falsch! Es wird dazu führen, dass Git ALLE Ihre Dateien ignoriert
Checkliste
1
@checklist Hast du die Frage nicht gelesen? Oder haben Sie meinen Standpunkt nicht verstanden? Er fragte "Welche Dateien / Ordner kann ich für die Aufnahme in git ignorieren?", Die Antwort, auf die JEDER von ihnen ist. Woher weißt du, dass er nicht alles vorübergehend ignorieren möchte, während er sein Build-Problem ausarbeitet?
Justin Buser
1
@ JustinBuser, das scheint nur bedeutungsloses, pedantisches semantisches Wrangling zu sein. Ich glaube nicht, dass der künstliche Kontext, den Sie zusammengestellt haben, einen Einfluss auf die gemeldete Frage hat. Sie scheinen das OP absichtlich falsch zu interpretieren.
Bacar