web-dev-qa-db-fra.com

Erreur Eclipse: R ne peut pas être résolu en une variable

Je reçois cette erreur classique dans Eclipse IDE. Je m'ennuie des insectes d'Eclipse. Ils me rendent fou.

J'ai presque essayé tout ce qui a suggéré comme solution (par googling). Aucun d'entre eux a travaillé.

Mon projet fonctionnait normalement mais pas de changements de code.

Je constate que les modifications de code n'agissent pas sur mon application (sur AVD), puis j'ai nettoyé mon projet (sous Project > Clean...). R.Java Le fichier était parti et le dossier res était vide.

Maintenant, je reçois cette erreur: R cannot be resolved to a variable.

Que devrais-je faire?

Et aussi j'ai essayé de supprimer le projet et de créer à nouveau avec Android Project from Existing Code J'ai déjà sauvegardé. Cela donne déjà la même erreur après le nettoyage.

Toute idée serait appréciée.

53
JustWork

Je suppose que vous avez mis à jour ADT avec la version 22 et que le fichier R.Java n'est pas généré.

Si tel est le cas, voici la solution:

J'espère que vous savez Android studio possède un outil de création de niveaux. Comme dans Eclipse, ils ont fourni un nouveau composant dans le dossier Outils appelé Android Les outils de construction de SDK nécessaires Ouvrez le Android SDK Manager, sélectionnez les outils de construction nouvellement ajoutés, installez-le, puis redémarrez le SDK Manager après la mise à jour.

enter image description here

121
Paresh Mayani

Je ne poste pas ceci comme réponse mais comme une confirmation de la réponse acceptée de Paresh. J'ai récemment mis à jour les outils du Kit de développement logiciel (SDK) vers la révision 22 et j'ai remarqué que mes modifications de code n'affectaient pas le périphérique que je testais. Tels que l'URL que j'utilisais, j'obtenais des erreurs de temps de connexion concernant l'URL que j'utilisais "précédemment". Par conséquent, j'ai nettoyé le projet et construit à nouveau uniquement pour découvrir que le fichier R.Java généré automatiquement est manquant.

Après avoir lu la réponse de Paresh et avoir vérifié ce qui se passait avec mon responsable sdk, voici ce que j'ai vu: enter image description here

SDK Build-tools 17 n’était pas installé et il y avait déjà une nouvelle mise à jour des outils SDK bien qu’il ne mentionne aucune modification liée à ce problème dans le journal des modifications, cette mise à jour a ramené mon fichier R.Java et les problèmes associés ont disparu après un redémarrage Eclipse et un nettoyage/reconstruction final sur le projet.

17
Kerem

Le fichier R ne peut pas être généré si votre mise en page contient des erreurs. Si votre dossier res est vide, vous pouvez en déduire qu'il n'y a pas de fichier res/layout dossier avec n'importe quelle mise en page, mais votre activité appelle probablement setContentView et ne trouve rien - cela peut être considéré comme un problème avec votre mise en page.

9
MarsAtomic

En plus d'installer les outils de construction et de redémarrer le gestionnaire de mise à jour, j'ai également dû redémarrer Eclipse pour que cela fonctionne.

4
clearwater

Essayez de supprimer la ligne d'importation import com.your.package.name.app.R, Puis tout appel de ressource tel que mView= (View) mView.findViewById(R.id.resource_name); mettra en surbrillance le "R" avec une erreur, un "correctif rapide" vous invitera à importer R, et il y aura au moins deux options:

  • Android.R
  • votre.package.nom.R

Sélectionnez le R correspondant à votre nom de package, et vous devriez être prêt à partir. J'espère que ça t'as aidé.

4
daniel_c05

J'avais un projet entièrement fonctionnel sur lequel je faisais un changement mineur lorsque cela s'est produit après la mise à jour du SDK. Eclipse a mis à jour le SDK et l'ADT, mais je ne pouvais toujours pas construire le projet. Exlipse a déclaré qu'il n'y avait pas d'autres mises à jour disponibles.

Le problème a persisté jusqu'à ce que je désinstalle manuellement ADT d'Eclipse et que je le réinstalle. Alors seulement mon projet se construirait. J'avais redémarré Eclipse entre chaque étape.

1
user2497389