Eclipse Android et gitignore

188

Quels fichiers / dossiers puis-je ignorer en toute sécurité pour l'inclusion avec git?

J'ai copié un bon projet, supprimé ses dossiers gen et bin et essayé d'exécuter l'application. La fenêtre de lancement d'Android indique: "Votre projet contient des erreurs, veuillez les corriger avant d'exécuter votre application. Il y a un X rouge sur l'icône à gauche du projet dans l'explorateur de packages. Bien que le dossier gen n'existe pas dans Explorateur Windows, il le fait dans l'Explorateur de packages.

utilisateur401120
la source
1
Faites un 'rafraîchissement' du projet (clic droit sur projet / rafraîchissement) ou via Menu> Projet> Nettoyer le projet .. - cela pourrait vous aider à vous débarrasser des messages d'erreur dans Eclipse. Parfois, seul un redémarrage d'Eclipse aide également, malheureusement. Eclipse n'est pas très fiable, mais un bon outil gratuit pour le début. (Je suis déjà passé à IntelliJ IDEA moi-même. Beaucoup mieux, pas gratuit.)
Mathias Conradt
1
@Mathias Lin: Il existe une nouvelle "édition communautaire" d' IntelliJ IDEA qui est gratuite.
Greg Hewgill
@Greg Hewgill: oui, mais l'édition communautaire n'a pas de support Android intégré.
Mathias Conradt
2
@MathiasLin intellij IDEA10: IDE gratuit pour le développement Android | Blog JetBrains IntelliJ IDEA Je sais que cela fait quelques années, mais je suis tombé sur cet article et j'ai remarqué les informations obsolètes, alors j'ai pensé que je publierais les (maintenant anciennes) nouvelles. IntelliJ IDEA Community Edition prend désormais en charge le développement Android. L'annonce a été publiée le 19 octobre 2010. Quelques mois seulement après votre commentaire.
DavidDraughn
@DavidDraughn Oui, en utilisant IDEA depuis 2 ans déjà, peut également le recommander.
Mathias Conradt

Réponses:

261

Il existe des types de fichiers à ignorer

# 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/

De Gitignore sur github

Vik Gamov
la source
17
En fait, cela a été mis à jour sur GitHub, il comprend également, entre autres, le .project, je ne suis pas d'accord ici et je veux votre avis. Scénario: j'ai ajouté de nouvelles classes à mon projet. Quand je suis sorti d'une autre machine, ils n'étaient pas dans le projet. Veuillez vérifier: github.com/github/gitignore/blob/master/Global/…
Daniel
16
Je suis d'accord avec toi @Daniel. Je pense qu'il est incorrect (comme suggéré dans le fichier .gitignore vers lequel vous créez un lien sur GitHub) d'exclure .project, .classpathet .settings. Ceux-ci font partie de la configuration du projet que vous souhaitez capturer dans git.
mgd
33

Ce que j'ajoute habituellement, .gitignorec'est:

bin
gen

binet gensont constamment modifiés pendant le codage, il n'est donc pas nécessaire de les inclure dans le référentiel Git. Aussi, parfois j'ajoute .classpathet .projectqui sont des fichiers spécifiques à Eclipse, car peut-être que je veux créer un nouveau projet Android basé sur ces mêmes sources, mais dans un autre OS ou IDE.

En ce qui concerne l'erreur, je nettoierais le projet et / ou essayerais d'exécuter l' utilitaire Fix Project Properties (cliquez avec le bouton droit sur le projet -> Android Tools -> Fix Project Properties).

Cristian
la source
Que diriez-vous d'identifier et de corriger l'erreur? Pourquoi le nettoyage du projet pourrait-il faire quelque chose s'il n'a pas encore été compilé?
Justin Buser
7

Il est prudent d'ignorer bin et gen, sans problème. Lorsque j'ai des problèmes avec la configuration d'un projet, je fais ceci: Tout d'abord - avez-vous regardé l'onglet «Problèmes» dans la vue sous la vue de l'éditeur - il donne généralement des informations plus détaillées sur les erreurs du projet. S'il n'y a rien de concluant, je fais les choses ci-dessous:

  1. Généralement, lorsque j'ai des problèmes avec Eclipse qui me donne des erreurs fantômes dans le projet, le nettoyage du projet le résoudra. C'est dans le menu, sous Projet> Nettoyer.
  2. Si cela ne fonctionne pas, j'essaierai généralement de cliquer avec le bouton droit sur le projet, en allant dans Outils Android> Corriger les propriétés du projet.
  3. Mon dernier recours est de redémarrer eclipse et de supprimer le dossier gen.
QRohlf
la source
2

le meilleur moyen est d'utiliser ce site pour générer: http://www.gitignore.io/

Jacky
la source
Cela ne fait que reprendre ce que dit une réponse précédente.
-28

La réponse simple à cette question est *. *, En gros, il est totalement sûr d'ignorer tout ce que vous ne voulez pas ajouter au contrôle de version. Cela étant dit, cela dépend vraiment de ce que vous cherchez à accomplir en utilisant Git. Si vous voulez pouvoir récupérer / importer votre projet ailleurs à partir du même référentiel, vous voudrez ignorer au plus / bin / . et / gen / ., Je n'ignorerais pas les dossiers eux-mêmes (c'est-à-dire / bin, / gen) juste pour maintenir la structure de répertoires appropriée pour votre projet.

Cela répond à la question initiale, mais n'a aucun rapport avec le problème que vous rencontrez. En ce qui concerne la résolution du problème que vous rencontrez, vous devrez publier plus d'informations, en particulier ce qui est répertorié dans l'onglet Problèmes. Si vous ne pouvez voir l'onglet Problèmes nulle part, cliquez sur le menu Fenêtre, puis affichez la vue, puis choisissez les problèmes s'il y en a ou cliquez sur autre et regardez sous Général pour le trouver.

Justin Buser
la source
3
C'est complètement faux! Cela obligera git à ignorer TOUS vos fichiers
liste de contrôle
1
@checklist Vous n'avez pas lu la question? Ou est-ce que vous n'avez pas compris mon point? Il a demandé "Quels fichiers / dossiers puis-je ignorer en toute sécurité pour l'inclusion avec git?", La réponse à laquelle EST N'IMPORTE QUEL d'entre eux. Comment savez-vous qu'il ne veut pas tout ignorer temporairement pendant qu'il résout son problème de construction?
Justin Buser
1
@JustinBuser qui semble être une querelle sémantique sans signification. Je ne pense pas que le contexte artificiel que vous avez concocté ait une quelconque incidence sur la question rapportée. Vous semblez avoir délibérément mal interprété l'OP.
bacar