gen existe déjà mais n'est pas un dossier source

91

Je développe mon projet Android, après avoir supprimé une bibliothèque inutilisée, j'ai eu l' erreur:

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

Dans mon code d'activité, toutes les ressources de R.javane peuvent pas être résolues.

J'ai essayé, faites un clic droit sur mon projet => Java Build Path => sous l'onglet "Source", j'ai ajouté gen / comme source. Mais cela n'aide pas avec le problème ...

Pourquoi, comment se débarrasser de ce problème?

----METTRE À JOUR----

J'ai trouvé que, l'éclipse se plaignait également que "le projet n'a pas de fichier project.properties! Modifiez les propriétés du projet pour en définir un." , mais j'ai un fichier project.properties sous mon projet. Pourquoi se plaint-il? J'ai nettoyé le projet et "corriger les propriétés du projet" mais cela n'aide pas.

Leem.fin
la source
5
vérifiez que votre dossier src contient un dossier gen. s'il y a supprimez-le. .pas besoin de le créer manuellement. Nettoyez votre projet une fois.
Padma Kumar
salut, Mon dossier src ne contient aucun dossier gen ...
Leem.fin
1
Cela m'est arrivé après l'importation d'un projet
max.mustermann
1
Vous avez une très bonne réponse, actuellement notée 79, mais vous ne l'avez pas acceptée. Vous devriez l'accepter. Et votre "MISE À JOUR" devrait être une question distincte (et vous voudrez peut-être voir si quelqu'un y a déjà répondu).
steveha
Je pense que ma réponse aidera dans ce problème. Stackoverflow.com/questions/9738203/…
Ranjit

Réponses:

234

J'ai le même problème.

Deux actions, d'abord:

    1.Cliquez droit sur le projet et allez dans "Propriétés"
    2.Sélectionnez "Java Build Path" sur la gauche
    3.Ouvrez l'onglet "Source"
    4.Cliquez sur "Ajouter un dossier ..." et cochez "gen" et "src"

deuxième: (parce que l'action précédente m'a demandé de supprimer quelque chose ... je ne me souviens plus de ce que c'était ...)

    1. Faites un clic droit sur le projet et allez dans "Propriétés"
    2. Sélectionnez "Java Build Path" sur la gauche
    3. Ouvrez l'onglet "Bibliothèques"
    4. Ajoutez un JAR externe. Ajoutez l'API Google qui se trouve dans votre répertoire Android (android-sdk \ plates-formes \ android-yourversion

Et maintenant ça marche pour moi!

AntoineP
la source
10
Dans mon cas, je n'avais besoin que de faire la première partie mentionnée ci-dessus. Je vous remercie!
tm_forthefuture
La première solution m'a également aidé lors du premier essai :)
Saad Qureshi
2
Cela a fonctionné ... mais comment est-ce arrivé? Android stupide. :-)
Ryan Detzel
La première étape a fonctionné pour moi. Je ne sais pas comment ou pourquoi Eclipse a décidé de simplement supprimer ces dossiers (.classpath n'a pas semblé changer) ...
ssawchenko
Cheers .. Fonctionne très bien :)
vjamit
37

Solution :

Étape 1 :

  • Faites un clic droit sur le projet et allez dans "Propriétés"
  • Sélectionnez "Java Build Path"
  • Passer à l'onglet "Source" Supprimer toutes les sources du dossier source sur le chemin de compilation
  • Redémarrez Eclipse

Étape 2 :

  • Faites un clic droit sur le projet et allez dans "Propriétés"
  • Sélectionnez "Java Build Path"
  • Passer à l'onglet "Source"
  • Cliquez sur "Ajouter un dossier ..." et vérifiez le dossier source "gen" et "src" sur le chemin de construction
  • Redémarrez Eclipse

Final

Projet (s) de construction

Heureux codeur :)

Vinayak
la source
1
check gen résout uniquement le problème et ne fonctionne pas avec le dossier src
Manikandan
J'aurais perdu ma journée. Merci
Prakash
17
  1. Faites un clic droit sur le projet et allez dans Propriétés
  2. Sélectionnez Java Build Path sur la gauche
  3. Onglet Open Source
  4. Cliquez sur Ajouter un dossier ... et vérifiez gen et src
Shubham Das
la source
C'est la meilleure réponse. Concis, problème résolu, boum!
Ely
8

Cela est dû à l'utilisation du mauvais importateur dans Eclipse. Si vous avez des projets Android, vous devez les importer dans votre espace de travail avec Android-> Code Android existant , et non Général-> Projets existants .

entrez la description de l'image ici

Eric Cloninger
la source
3

J'ai dû supprimer tout le dossier gen dans eclipse et non depuis l'explorateur de fichiers. puis a fait un nettoyage et il a été reconstruit. drôle cela s'est produit juste après que j'ai exécuté un rapport HTML de Lint.

j2emanue
la source
Cela a également fonctionné pour moi. Je viens de supprimer le fichier gen, et quelques secondes plus tard, il a été régénéré et tout est revenu à la normale.
Sandy
2

Le dossier gen est l'endroit où ADT crée le fichier R.java, qui spécifie vos définitions de ressources. c'est-à-dire que vos ressources (couleurs, dimensions, mises en page, etc.) sont converties en code et placées dans R.java dans le dossier gen.

Ainsi, lorsque vous créez l'application, vous devez vous assurer que le dossier gen est traité comme un dossier de code source par votre IDE, car il contient la classe R.

Dans votre IDE, vous devez marquer le dossier gen comme dossier source, afin que son contenu soit construit avec votre source.

Votre taux d'acceptation est très faible. Si vous voulez que les gens vous aident, vous avez besoin d'un taux d'acceptation élevé.

Ollie C
la source
9
mais comment puis-je accepter s'il n'y a pas de réponse correcte? Je vérifie les réponses, mais personne n'est la solution ... Par exemple, mon article actuel, je sais ce qu'est gen / et comment cela fonctionne sous Android, je cherche une solution à mon problème actuel. Mais pas encore.
Leem.fin
1

J'ai rencontré le même problème, je l'ai résolu comme suit:

Dans l'Explorateur de packages, cliquez avec le bouton droit sur le dossier gen, recherchez «Build Path - Use as Source Folder» et cliquez dessus.

C'est ça. J'espère que cela aidera.

hywl51
la source
1

J'ai fait configurer SVN pour un projet avec le même problème, j'ai supprimé tous les dossiers et fichiers, je l'ai récupéré à nouveau à partir de SVN et toujours pas de chance. La seule chose qui a aidé était d'annuler les modifications et de supprimer / réimporter des projets dans l'espace de travail. J'espère que cela t'aides

milosmns
la source
0

La dernière fois que j'ai eu ce problème, c'était parce que j'avais changé la source sur une autre branche dans les coulisses. Une fois que j'ai fermé Eclipse et relancé, le problème a disparu.

thésal
la source
0

J'ai eu certains des mêmes symptômes , mais je les ai résolus différemment:

J'ai découvert que j'avais deux fichiers dans le répertoire drawable qui étaient en conflit: icon.png et icon.xcf. Cela a fait échouer la génération de R. J'ai déplacé le icon.xcf hors du chemin et R généré et le projet compilé.

Stephan Henningsen
la source
0

Allez dans les propriétés du projet puis allez dans Java Build Path puis Remove already exist folder puis cliquez sur Add Folder puis Add the Source and gen folder. puis appuyez sur ok ............ Cela fonctionnera .......

Singhak
la source
0

Ma solution était de coller ce qui suit dans le fichier .classpath:

<?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
la source
0

Nous devons également vérifier nos déclarations d'importation.Si nous avons importé 'android.R', nous devons le supprimer.

Joshua
la source
0

Cela se produit parce que votre fichier .classpath a été effacé d'une manière ou d'une autre. Ce fichier contient toutes les informations de l'onglet Chemin de génération Java sous Propriétés du projet. Vous pouvez ajouter toutes les informations manuellement, mais il existe un moyen plus simple de résoudre ce problème.

Si vous avez une copie du fichier .classpath sur votre ordinateur, vous pouvez simplement le copier et le coller dans le répertoire de votre projet.

Patrick
la source
0

J'ai essayé les suggestions données ici et j'ai toujours eu le problème. Enfin, il s'est avéré qu'Eclipse avait mal fait ses importations. Pour une raison quelconque, il a ajouté les mots "gen" et "src" au début de la ligne d'importation. J'ai dû changer toutes les lignes d'importation de

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

à

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

Une fois que j'ai fait cela, tout est revenu à la normale.

Panonski
la source