Android - Comment régénérer la classe R? [dupliquer]

possibilité de dupliquer:

développement pour Android dans Eclipse: R.java ne produisant pas de

j'ai importé un projet dans mon IDE Eclipse, mais il me donne une erreur puisque le fichier R n'est pas généré automatiquement.

comment modifier le fichier R pour qu'il corresponde aux exigences de mon projet?

76
demandé sur Community 2010-01-11 13:11:32

26 réponses

In another stackoverflow question , quelqu'un a répondu ceci : vous devez vous débarrasser des avertissements et des erreurs (syntaxe et liens) dans vos fichiers xml. Cela plus faire un projet propre / construire.

projet - > propre, et choisir l'option pour construire le projet.

46
répondu Goufalite 2017-05-23 12:09:02

j'ai trouvé ça en train de m'arriver avec une maquette cassée et tout explose. Détendez-vous, c'est comme cette vieille erreur quand vous avez appris la programmation où vous oubliez un point-virgule Et il génère une centaine d'erreurs. Beaucoup paniquent, appuient sur tous les boutons, et aggravent les choses.

Solution

  • assurez-vous que les liens R. ne sont pas rompus. Si elle est cassée, ADK peut ne pas régénérer R. corriger toutes les erreurs vos fichiers XML .
  • si vous frappez quelque chose et créez import android.R dans votre activité, supprimez-le .
  • Exécuter Projet -> Clean . Cela supprimera et régénérera R et BuildConfig.
  • s'assurer que projet -> construire automatiquement est coché.
  • Attendre quelques secondes pour les erreurs de disparaître.
  • si cela ne fonctionne pas, supprimez tout ce qui se trouve dans le répertoire/ gen /
  • si cela ne fonctionne toujours pas, essayez en cliquant avec le bouton droit de la souris sur votre projet- > Outils Android - > correction des propriétés du projet .

Que faire si R ne se régénère pas

cela se produit généralement lorsque vous avez un fichier xml cassé.

  • vérifiez les erreurs à l'intérieur de vos fichiers XML, principalement dans /res/ dossier
  • les endroits communs sont /layout / et / values / surtout si vous avez changé l'un d'eux récemment
  • Vérifiez AndroidManifest.xml, je trouve que souvent je change une chaîne, et oublie de changer le nom de chaîne de AndroidManifest.XML.
  • si vous ne trouvez pas le problème. clic droit /gen/ -> Restaurer à partir de l'histoire locale... - >TIC R.java - > cliquez sur Restaurer . Cela ne résout pas le problème, mais il effacer le plus d'erreurs pour rendre le problème plus facile à trouver.

je sais qu'il y a déjà beaucoup de réponses ici, mais c'est le premier lien sur Google, donc je suis la compilation de tous les conseils ici et j'espère qu'il aide quelqu'un d'autre nouveau à ce:)

29
répondu Muz 2012-09-03 05:02:48

Ok, je l'ai réparé:

lorsque j'ai changé manifeste en version cible 1.5, des millions d'erreurs sont apparues et une seule n'était pas liée à l'inexistence de la classe R - dans les attributs de fichier "targetSdkVersion" et "maxSdkVersion" n'existait pas dans sdk 1.5

en raison de cette classe R n'a pas été en mesure de générer.

15
répondu zorglub76 2010-01-11 11:15:21

j'ai eu un problème similaire où le R.java le fichier n'était pas régénéré après que j'ai ajouté des icônes et des fichiers de mise en page. J'ai essayé le nettoyage et la reconstruction et les choses ont empiré depuis lors l'original R.java le fichier avait disparu et n'était toujours pas régénéré. Finalement, j'ai compris qu'il devait y avoir des erreurs de compilateur pour le compilateur qui génère R.java et on ne nous les montre pas dans la console. Heureusement, j'avais remarqué plus tôt que

  1. c'est un message d'erreur si l'un .le fichier xml se réfère à un autre qui est inexistant et
  2. c'est une erreur d'avoir des majuscules dans les noms de vos fichiers (pourquoi est-ce interdit, j'aime camel case).

de toute façon, après avoir renommé mes icônes et .les fichiers xml à toutes les minuscules et ensuite la fixation de toutes les références à l'intérieur de la .fichiers xml, voila, R.java a été régénérée. Juste à temps pour sentir bon quand je me suis arrêté pour le déjeuner :-)

14
répondu John Klippenstein 2012-07-12 12:34:23

pour générer à nouveau le fichier R:

  1. modifier quelque chose dans la mise en page->activity_main.xml
  2. Enregistrer le fichier
  3. Project - > Clean...

supprimez simplement le fichier R situé dans le répertoire gen, puis essayez Project->Clean. Puis construire votre application.

8
répondu Muhannad A.Alhariri 2013-04-27 02:26:19

vous pouvez aussi faire un clic droit sur le project -> Android Tools -> Fix Project Properties . Cela devrait causer R.java classe à recréer.

7
répondu Erich Douglass 2010-01-11 15:24:43

mon problème était dans le dossier le plus manifeste. J'ai supprimé les icônes de lancement et n'ai pas fait référence aux nouvelles sur Manifiest :)

4
répondu InsaurraldeAP 2011-12-04 08:06:26

je rouvre eclipse, édite un de mes fichiers xml et découvre ensuite que ma classe activy faisait référence à android.R au lieu de mon paquet "R": -)

4
répondu Charles 2011-12-31 16:16:40

afin de régénérer le R.class, vous devrez essayer plusieurs techniques.

  • supprimez toute importation de vos fichiers source java: import R.android
  • assurez-vous d'ouvrir le panneau "Problems" en allant à Window->Show view - >Problems
  • Si vous avez quelques erreurs dans vos ressources xml, vous devez corriger ces erreurs. Dans mon cas, j'ai dû changer mon identifiant les attributs à inclure le signe "+" comme suit: android:id="@+id/grp_txt"
  • procéder maintenant à faire Projet - > propre
  • Enfin faire du Projet->Close, Projet "-> " Ouvrir

le signe " + " indique un nouvel id de ressource et force l'outil aapt à créer un nouvel entier de ressource dans le R.java classe.

3
répondu Temperage 2012-03-15 02:39:02

si vous utilisez Intellij idée, vous pouvez cliquer construire-reconstruire le projet

2
répondu Georgy Gobozov 2010-08-18 10:39:34

si vous avez accidentellement supprimé votre R dans eclipse par "project clean" (ne faites pas ceci) Rightcliquez sur votre Projetfile - > restaurer de L'histoire locale...

recréer votre R

Mon Cas:

  • Cassé xml causé un bug dans R. (en raison de ä, ö, ü, lettres id)
  • propre projet supprimé mon R.

Ce Que J'Ai Fait:

  • recréé R de L'histoire locale
  • vérifié pour les importations erronées R dans mes classes (comme importation android.R) et les a enlevées
  • a corrigé ce fichier xml et enregistré son contenu dans un fichier txt externe
  • a supprimé complètement le xml de mon projet.
  • couru mon projet une fois
  • mettre qui fixe xml de retour à sa place

et...

  • a donné mon petite amie un gros câlin sans raison après avoir flippé comme un Hulk.
2
répondu Corona 2012-08-19 08:16:14

mon problème était des erreurs dans mes fichiers XML. Les erreurs ne sont pas toujours détectées automatiquement dans L'éditeur XML commun à Android ou dans L'éditeur manifeste commun à Android, alors essayez d'utiliser l'éditeur de texte régulier à la place. Par exemple, une sorte de charabia aléatoire de A.le fichier java avait été inséré dans mon manifeste et mes chaînes de caractères.des fichiers xml.

faites un clic droit sur n'importe quel fichier XML (très probablement dans le dossier /res ou AndroidManifest.xml) et cliquez sur "Ouvrir Avec", puis sélectionnez "éditeur de Texte." Assurez-vous que tout semble bon et puis enregistrez. Aussi, assurez-vous d'activer "construire automatiquement" pour votre projet. J'avais supprimé R.java fichier et il a été reconstruit à partir de zéro, donc pas besoin de le restaurer à partir de l'histoire locale.

2
répondu jgonagle 2012-10-17 16:59:51

essayez d'ajouter un nouveau "fichier XML Android" dans, par exemple, le dossier /res/layout . Cela pourrait amener le plugin à régénérer la classe R .

1
répondu Richard Szalay 2010-01-11 10:13:23

vous pouvez simplement modifier n'importe quels fichiers xml dans /res dossier et même juste ajouter un espace et enregistrer, il sera régénéré.

1
répondu Cytown 2010-01-11 10:37:31

j'ai eu le même problème - "R" manquant. Et aucun des conseils donnés ici ont contribué. Heureusement, J'ai trouvé la raison - D'une façon ou D'une autre Eclipse a perdu le Projet-Propriétés-cible. Elle a été supprimée. Je ne sais pas encore ce qui l'a fait, mais le remettre en place a aidé. Ainsi, attention - R manquant peut signifier la cible manquante , aussi!

1
répondu Gangnus 2011-05-05 14:08:15

j'ai essayé toutes les solutions ci-dessus. Mais ils n'ont malheureusement pas résolu mon problème. Mon R.java était parti dès que j'ai collé une nouvelle image à mon dossier dessinable. Après avoir lu les réponses à cette question, j'ai essayé de supprimer l'icône que j'ai précédemment collé (alors que la construction automatiquement activée) et tout allait bien afetr. Espérons que cela va aider quelqu'un!

1
répondu Alanagh 2011-05-06 18:00:01

j'ai eu ce problème et j'ai juste cliqué à droite sur le paquet de mon projet et construire le projet. La classe R est apparue instantanément dans packet gen.

1
répondu AlexisM 2011-09-02 12:27:15

dans le cas où quelqu'un d'autre trouve ce fil en Googlant, comme je l'ai fait:

j'ai eu ce qui a semblé être le même problème pendant un certain temps, et après quelques R.java le fichier a été correctement construit, mais a été ignoré pour seulement un de mes fichiers source. Le problème pour ce dossier particulier était Qu'Eclipse avait "helpfully" ajouté la ligne suivante en haut:

import android.R;

qui cache effectivement le projet R truc. Il suffit de l'enlever et tout ira bien à nouveau...

1
répondu Jonas 2011-09-07 16:01:11

vous pouvez utiliser" Restore from local history " D'Eclipse pour restaurer votre ancien fichier R s'il a été supprimé. Après cela, vous pouvez voir ce qui empêche Eclipse de construire vos fichiers (j'ai vu d'autres erreurs qui ont vraiment aidé à corriger le problème).

1
répondu user1201626 2012-02-13 17:11:58

peut-être que vous pouvez aller à Propriétés du projet et sélectionner L'option Android, puis de définir la cible pour le projet. Une fois que vous appliquez L'API Cible sélectionnée pour ce projet, elle générera automatiquement R.java.

1
répondu subnesh 2012-02-20 04:57:20

principalement un problème avec un fichier de mise en page invalide. Ouvrez la vue' Problems ' et recherchez des erreurs dans les fichiers de mise en page XML. Réparez - les et la classe R sera recréée.

dans mon cas, il n'y avait pas d'erreur. La vue de problème a montré une erreur dans une mise en page xml. L'éditeur a également affiché l'erreur xml. Il suffit de reformater le xml en utilisant le formatteur automatique avec "ctrl-f ""corrigé" l'erreur xml " et la classe R a été recréée.

1
répondu schwarz 2012-02-20 21:40:06

vous pouvez simplement supprimer le R.java fichier de votre projet et il se régénérera en supposant que vous avez construire automatiquement activé. Si vous n'avez pas de construire automatiquement activé simplement goto project->build all

0
répondu Steve 2010-01-11 10:51:15

pour moi, C'était une ressource de valeur de chaîne qui n'était pas définie ... après l'avoir ajoutée à la main aux chaînes.xml, la classe R a été régénérée automatiquement!

0
répondu richey 2012-05-12 06:33:32

ce problème se produit normalement lors de l'importation d'un projet existant. Essayez de corriger toutes les erreurs de tous les .les fichiers xml dans le dossier res , ainsi que le fichier manifeste . Probablement les erreurs sont affichées à " match_parent paramètre", changer à " fill_parent ". Lorsque toutes les erreurs sont claires, R.java sera apparu.

S'il n'y a pas d'erreur .fichier xml. Essayez d'éditer n'importe quel fichier xml (comme supprimer une lettre et la taper en arrière) et puis sauver le fichier, cela causera de générer le R.java.

0
répondu laph 2012-07-29 13:53:46

j'ai un problème que le findViewById(R.id.edit_text) mais retourner un TextView pas un texte D'édition. Je pense que le problème est que la classe R. id a un numéro d'identification erroné, puis, je nettoie le projet puis ses travaux très bien.

0
répondu Simon 2013-04-13 02:46:36

dans mon cas, c'était un fichier XML incorrectement nommé qui a fait que mon fichier R n'a pas été reconstruit. Ce n'apparaissent pas dans l'explorateur de packages, mais il a été montré dans le LogCat. Attention aux avertissements sur vos fichiers res. Peu importe le nombre de fois où vous nettoyez votre projet, le fichier R ne sera pas reconstruit tant que ces erreurs ne seront pas corrigées.

-1
répondu davemeyer 2012-04-09 17:54:56