web-dev-qa-db-fra.com

"R ne peut pas être résolu en une variable"?

Dans Eclipse, j'ai créé un projet à partir d'une source et maintenant, il affiche des erreurs - "R ne peut pas être résolu en une variable". D'après ce que j'ai trouvé ici, j'ai effacé et reconstruit le projet, mais le fichier R ne figure toujours pas dans le dossier/gen.

Des idées?

241
Roger

Ne vous inquiétez pas. Vous pouvez d’abord nettoyer le projet, puis l’exécuter. Si cela ne fonctionne pas, suivez les liens suivants:

175
Dharma Kshetri

Si Clean/Rebuild Project ne fonctionne pas, essayez de vérifier le nom de notre package dans AndroidManifest.xml.

Le problème "R ne peut pas être résolu" se produit lorsque vous modifiez le nom de votre package dans le fichier AndroidManifest.xml. Il utilise votre nom de package Android pour créer un sous-répertoire dans le répertoire "gen" où il stocke le fichier R.Java.

43
robbycandra

Pour moi, l'erreur a été corrigée en apportant des modifications à Android SDK Manager.
Quel que soit le dernier niveau d’API disponible, installez sa "plate-forme SDK". Pour moi, le dernier niveau d'API disponible était de 16, j'ai donc installé sa plate-forme SDK, comme indiqué dans l'image ci-dessous. Cela fonctionne bien maintenant.

Screenshot of Android SDK Manager after fixing the problem
À la vôtre, Mayank

10
Mayank Jaiswal

Vous venez de mettre à jour sdk et adt (du 21 au 22), puis vous devez installer un nouvel élément: Android SDK Build-tools

Voir: erreur Eclipse, fichier R.Java manquant après une mise à jour récente

9
macio.Jun

pour moi, la meilleure solution pour suggérer aux personnes qui ont des problèmes avec le fichier "R" serait d'essayer les prochaines étapes (l'ordre n'a pas d'importance):

  1. mettre à jour ADT & SDK, Eclipse et Java.

  2. supprimez le dossier gen et créez-le à nouveau.

  3. faire un projet propre.

  4. faites un clic droit sur le projet et choisissez Android-tools -> fix-project-properties.

  5. cliquez avec le bouton droit sur le projet et choisissez Propriétés -> Java-build-path -> order-and-export. assurez-vous que la commande est:

    • Android 4.3 (toujours la dernière version)

    • Bibliothèques privées Android

    • Dépendances Android

    • votre/vos projet (s) de bibliothèque si nécessaire

    • votreAppProject/gen

    • votreAppProject/src

  6. assurez-vous que tous les fichiers des sous-dossiers du dossier res ont des noms acceptables: lettres minuscules, chiffres et trait de soulignement seulement ("_").

  7. assurez-vous toujours que le targetSdk est pointé sur la dernière API (actuellement 18) et définissez-le dans le fichier project.properties

6
android developer

Pour moi en quelque sorte les propriétés du projet; Android; La cible de construction du projet n'a pas été définie. J'ai choisi une version Android ici (par exemple, 4.2) et elle l'a corrigée.

6
Phileas Fogg

Pour moi, il y avait une barre oblique manquante à la fin de mon SDK. Dans Eclipse> Préférences> Android> Emplacement du SDK

Par exemple, changer

/home/matt/Android-sdk-linux

à

/home/matt/Android-sdk-linux/
4
matt burns

Ce qu'il vous faut vraiment faire, installez simplement les "outils de compilation" à partir de sdk manager, et r.Java sera généré automatiquement.

3
AJay

J'ai eu un problème similaire et la solution que j'ai trouvée était dans les ressources: n'importe quel fichier, fond, son, etc., ne doit pas contenir de lettres majuscules ni aucun symbole spécial autre que _

3
vCillusion

votre manifeste Android doit commencer par le bon paquet

<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
    package="HERE - Correct package NAME"
    Android:versionCode="1"
    Android:versionName="1.0" >`
3

J'ai eu la même erreur. L’erreur était que j’avais placé un fichier dans le dossier res/raw avec un nom de fichier invalide. Dès que j'ai corrigé le nom du fichier en un nom valide, l'erreur a été résolue!

Caractères autorisés pour nommer un fichier: -

1. a-z
2. . _
3. 0-9
4. no capital letters

Les majuscules étaient le problème dans mon cas!

2
Shishir Gupta

J'ai eu ce problème et aucun des autres guides ne m'a aidé, puis j'ai réalisé que je n'avais pas installé le Java jdk sur mon système. Si vous ne l'avez pas encore fait, téléchargez la version correspondant à la version d'Eclipse que vous avez installée (x86 ou x64).

1
HollywoodCurls

J'ai résolu le problème de résolution de la ressource R sur fc19.x86_64 et ADT v22.0.5-757759 en installant des bibliothèques supplémentaires après la mise à niveau de Fedora et d'ADT.

yum install ld-linux.so.2
yum install libstdc++.so.6
yum install libz.so.1

Adb a besoin de ces bibliothèques (Android Debug Bridge version 1.0.31).

Ensuite, redémarrez Eclipse et exécutez le projet nouveau Projet -> Nettoyer le projet que vous souhaitez nettoyer.

J'espère que ça aide :)

1
Stepan Hruska

Vérifiez le fichier androidmanifest.xml et les fichiers xml de layoutfolder. Ils doivent être créés correctement, car les clauses de début et de fin dans XML doivent être placées correctement. Mettre à jour les fichiers, nettoyer et construire. Et tous ensemble!

1
Riddhi K

Essayez de modifier le fichier AndroidManifest.

Par exemple, ajoutez de l'espace et supprimez cet espace. Après cette opération, sauvegardez le projet. Les ressources seront actualisées. Cela peut aider.

1
analogbody

J'ai trouvé ce problème lorsque j'essayais de lancer le programme Notepadv3 depuis la première leçon de Googles.

Pour moi, c'était un problème avec le fichier XML, en raison du niveau d'API que j'utilisais. J'ai renommé chaque cas de Match_Parent en l'ancien type Fill_Parent. Oh, et si vous avez déjà construit le projet automatiquement, vous devez supprimer 'importer Android.R' sur NoteEdit.Java et Notepadv3.Java, nettoyez le projet (cliquez sur 'Projet', puis sur 'Nettoyer ...') avant de sauvegarder. .

Résolu pour moi. Came from this post Problème Android NDK r4 san-angeles

Je ne peux pas croire que Google ne soit pas prévenu de ce problème. J'avais déjà configuré un autre ordinateur pour recommencer à programmer. Même avec quelques connaissances préalables, c'était une tâche difficile. Comment définir l'API lors de l'importation d'un projet existant? ?? Vous ne pouvez pas voir où il y a une option de dialogue lorsque vous 'Fichier' 'Importer' etc.

Scamparelli

1
Scamparelli

Il est possible que vous ayez une erreur dans vos fichiers * .xml: mises en page, etc.

1
Vlad

Mon problème était étrange et a pris du temps à trouver. D'une manière ou d'une autre, le package du fichier src a été modifié de sorte que la dernière entrée du package ait été supprimée. Ainsi, par exemple, initialement, ma classe MyActivity.Java était dans le package com.abc.client.test.app, mais après avoir ajouté une autorisation utilisateur, l'application a été supprimée et le package a été renommé en com.abc.client.test. Je ne sais pas comment c'est arrivé. Renommer le package et placer le fichier Java au bon endroit ont résolu le problème.

1
Chaviv Perlman

Parfois, vous pouvez accidentellement ajouter une importation à "R", donc si en haut de votre code vous voyez une importation bizarre à propos de celle que vous n'avez pas ajoutée vous-même, supprimez la référence, et tout devrait revenir à la normale.

1
Keerigan

Je l'ai eu quand j'ai renommé un projet. Bien que le projet soit renommé, certaines références ne le sont pas. Enlever les peluches, puis les réutiliser, a aidé. (Faites un clic droit sur le projet> Android Outils> Supprimer les marqueurs de peluche, puis Exécuter Lint.)

0
powlo

Dans mon cas, R.Java n'a pas été généré à cause d'un erreur parent hiérarchique , qui a été guéri par un ou plusieurs plugins Eclipse mis à jour (Aller à Eclipse -> Aide -> Rechercher des Mises à jour)

0
Arsene Lupin

Le problème était que Eclipse ne générait pas R.Java. Pour résoudre ce problème, accédez à projet-> nettoyer ... et sélectionnez votre projet, puis sélectionnez ok, puis nettoyez-le et générez-le, puis importez le fichier R portant le nom de votre package (Ex com.demo.R). Ça marche.

0
Enli

Ma configuration a été interrompue après une mise à jour récente dans laquelle les outils de génération du SDK doivent être installés séparément après l'installation du SDK. Donc, la mise à jour des outils de compilation + le redémarrage d’Eclipse a corrigé cela pour moi.

Le crédit va au réponse Android ici

0
Mario Peshev

Lorsque les autres solutions échouent, sélectionnez votre projet et supprimez-le. VÉRIFIEZ DE NE PAS ENLEVER LES FICHIERS DU DISQUE.

Ensuite, utilisez fichier> importer> le code Android existant dans l'espace de travail, puis sélectionnez l'emplacement de votre projet.

0
Nino van Hooff

J'ai eu cette erreur quand j'ai ajouté un fichier js au dossier res.

Un indicateur d'erreur a été défini sur l'icône du dossier res. Dans toutes les classes où j'ai utilisé R, j'ai eu cette erreur.

J'ai déplacé le fichier js dans le dossier assets et tout a fonctionné.

0
tavi

Cela peut se produire lorsque la convention de dénomination Android n'est pas suivie. Vérifiez si vous avez placé un fichier/une photo dans l'un des dossiers Android et assurez-vous que le nom du fichier ne contient que des lettres minuscules.

0
MrT

Je sais que c'est une vieille question mais je viens de résoudre ma propre version et peut-être que cela pourrait aider quelqu'un.

Après deux jours passés à me déchirer les cheveux, j’ai finalement réussi à contourner le problème en supprimant le dossier raw, puis en le recréant et en déposant le (s) fichier (s) dans.

Après cela, un autre Project > Clean et enfin compilé.

0
Robert

Projet> Nettoyer ...

régénère généralement le fichier R.Java situé dans gen/com.mypackage

0
Kamil Szot