“Ne peut pas résoudre le symbole R” dans Android Studio

Dans tous les cas de toutes mes classes où je fais référence à R.id.something , le R est en rouge et il est dit “ne peut pas résoudre le symbole R”. Aussi, chaque fois qu’il ya R.layout, quelque chose est souligné en rouge et dit “ne peut pas résoudre la méthode setContentView (?)”. Le projet construit toujours bien. C’est embêtant de voir ça tout le temps. J’ai lu beaucoup d’autres questions sur quelque chose de similaire, mais la plupart impliquait d’importer des projets d’eclipse. J’utilise ce que je pense être la version la plus récente d’Android Studio et le projet a été créé avec Android Studio et n’a pas pu résoudre les problèmes de R. J’aimerais savoir ce qui cause cela si quelqu’un le sait.

MISE À JOUR : Solution: À l’époque, le studio Android était tout nouveau et j’étais également un tout nouveau développeur. Je n’aurais jamais dû utiliser le studio Android, je n’avais jamais réalisé à quel point c’était inachevé. Merci à tous pour l’aide apscope pour essayer d’aider ce message depuis qu’il a été publié. Ironiquement, la réponse à cette question a été supprimée et ne peut être annulée . Je pense que ma réponse originale est la solution à ce problème.

Ma réponse originale qui a été supprimée:

Je pense avoir compris le problème. Le problème est avec Android Studio, chaque fois que j’ai ajouté la bibliothèque admob toutes ces erreurs ont commencé. Tous mes autres projets sans publicité n’ont pas de problèmes similaires. J’utilise maintenant Intelij et rest loin d’Android Studio

J’ai eu ce problème aussi. Un simple «gradlew clean» et «gradlew build» ont fait l’affaire.


Cliquez sur Build-> Clean Project et effectuez un nettoyage progressif

Dans les dernières versions d’Android Studio, du moins pour moi, les travaux suivants:

“Outils” -> “Android” -> “Synchroniser le projet avec les fichiers Gradle”

Dans le dernier Android Studio 3.1.3 (juillet 2018), “Sync Project with Gradle Files” est disponible dans la barre de menus principale.

entrer la description de l'image ici

J’ai un problème similaire et voici ce que j’ai fait:

projet propre et projet de synchronisation avec Gradle,

entrer la description de l'image ici

vérifier la version de buildTools dans mon SDK entrer la description de l'image ici

De build gradle (module) changez minSdkVersion de 8 à 9

 defaultConfig { applicationId "PackageName" minSdkVersion 9 targetSdkVersion 22 versionCode 1 versionName "1.0" } 

Mais tout cela n’a pas aidé.

Enfin j’ai trouvé la réponse (cela a fonctionné dans mon cas)

Changement de build.gradle (module: app)

 android { comstackSdkVersion 21 buildToolsVersion '21.0.1' ...... .... } 

Ou

sélectionnez Fichier | Modification de la structure du projet Build Tools Version to 21.1.1

entrer la description de l'image ici

  1. Vérifiez vos fichiers XML.
  2. Projet propre

Ça y est.

Par exemple, j’avais une entrée dans ssortingngs.xml :

 Some text 

Et dans activity_main.xml j’ai utilisé cette entrée de chaîne

  

Pendant que je travaillais avec le projet, j’ai supprimé cette

  Some text 

Et par conséquent, activity_main.xml n’est plus valide. Comme résultat: ne peut pas résoudre R.

Donc, vérifiez vos fichiers *.xml et nettoyez le projet.

Si vous constatez cette erreur après avoir déplacé des fichiers ou des répertoires java vers d’autres emplacements, vous pouvez vous assurer que Android Studio est confus. Et devine quoi? annuler ces actions ne résout pas le problème.

Donc, vous essayez un nettoyage, mais cela ne fonctionne pas.

Et redémarrer ne fonctionne pas non plus.

Mais essayez Fichier -> Invalider les caches / Redémarrer … -> Invalider et redémarrer

Android Studio conserve des informations sur les fichiers qui dépendent des autres fichiers. Et comme le déplacement des fichiers n’est pas implémenté correctement, le déplacement des fichiers entraîne des erreurs. Et ce n’est pas tout: les caches de ces dépendances sont utilisés pour accélérer la construction.

Cela signifie que vous devez non seulement redémarrer, mais que vous devez également invalider ces caches pour restaurer (ou, plus précisément, reconstruire) la validité.

Il semble y avoir de nombreuses causes à ce problème. Récemment, j’ai ajouté une activité à tester avec appelée NewActivity. Cela a créé un fichier appelé res/menu/new.xml et gradle n’a pas aimé ce nom car new est un mot réservé.

gradlew clean

ou

"Tools" -> "Android" -> "Sync Project with Gradle Files"

Ce sont certainement de bonnes choses à essayer, mais vous pouvez avoir d’autres problèmes à résoudre avant de lancer ces commandes.

Je pense que si vous mettez vos fichiers Activités dans un autre dossier que celui par défaut. Vous devez importer le fichier com.example.yourproject.R (c’est-à-dire votre fichier de projet R et non Android.R) dans toutes les activités utilisant R. Par exemple, dans le fichier MainActivity, insérez cette ligne:

import com.example.yourproject.R;

Votre code est simplement brouillé. La réponse est plutôt simple.

Just go to **Build** --> **Clean Project**.

Cela devrait faire l’affaire.

Je suis en train d’utiliser Android Studio 3.0.1 .

Nettoyez simplement votre projet et Sync Project avec Gradle File. entrer la description de l'image ici

Et le problème sera résolu.

Brother, le fichier R.java contient le lien entre les pages XML et Java. “R ne peut pas être résolu” ne se produit que s’il y a un problème avec certains de vos fichiers de ressources. Ainsi, le moyen le plus efficace est de supprimer le dernier fichier xml ou le dernier fichier dessinable en res. et puis à partir de là selon les normes de codage Android. C’est la seule façon. La manière efficace et correcte.

Utilisez également Git pour un suivi correct du code. ..

Heureux codage .. 🙂

J’ai récemment eu ce problème et le clean / build etc. ne l’a pas résolu. Je devinais que j’avais un problème quelque part mais je ne savais pas où chercher pour le trouver (était-ce dans le manifeste, les fichiers XML de ressources, etc.?).

Lorsque quelque chose ne va pas, vous pouvez savoir ce que c’est en effectuant une parsing de code.

Dans le menu en haut, choisissez:

Analyser -> Inspecter le code, parsingr l’ensemble du projet en utilisant le profil «Par défaut».

Vos résultats d’inspection contiendront un élément appelé “Android”. Vous trouverez ici une liste de tout ce qui cause des problèmes dans vos ressources et votre fichier manifeste. Les erreurs ouvriront les fichiers xml générés à partir de votre build, qui afficheront toutes les erreurs en rouge.

Mon problème exact était dû au fait que j’utilisais des fichiers de manifeste basés sur les arômes et que je copiais certaines permissions à l’intérieur de la dans l’arôme par accident.

Inspection

MISE À JOUR: J’ai eu un problème après que Android Studio a toujours montré l’erreur après le correctif, même si je pouvais maintenant comstackr et exécuter parfaitement bien que l’erreur était toujours là. (Je dirige une construction de canaris pour le mettre en place pour le moment)

Avez-vous récemment mis à jour vos outils SDK? Lancez le gestionnaire android SDK et assurez-vous de disposer des derniers outils SDK, désormais séparés des outils de la plate-forme. J’ai eu ce même problème lorsque j’ai mis à jour mon gestionnaire de SDK pour la première fois, le package des outils de construction SDK ne s’affiche pas pour l’installation / mise à jour tant que je n’ai pas fermé et rouvert le gestionnaire de SDK.

Il suffit d’aller à la liste du menu Android Top. Cliquez sur Build Menu, sous Build, cliquez sur Rebuild Project.

entrer la description de l'image ici

J’ai rencontré ce problème lorsque j’ai renommé manuellement le dossier de domaine de mon application. Pour résoudre ce problème, je devais

  1. Définissez la structure de dossier de package appropriée de dans AndroidManifest.xml .
  2. Définissez le nouvel emplacement du package pour android:name de dans AndroidManifest.xml .
  3. Effacer le cache par

Menu Fichier -> Invalider Caches / Restart …

Le problème aura disparu, une fois que le studio Android redémarrera et construira le nouvel index.

J’ai eu ceci avec

  1. Une lettre majuscule dans mes ressources.
  2. Importer Android.R ajouté par Android Studio (ou Eclipse)
  3. Erreur dans le fichier xml

C’est une question très ancienne, mais cela arrive encore souvent et il n’y a pas de réponse vraiment complète ici.

J’ai eu ce problème plus de fois que je veux l’admettre. Cela peut être dû à une grande variété de problèmes qui concernent principalement la structure de votre projet et ne correspondent pas aux attentes. Voici une liste de tous les problèmes que j’ai rencontrés:

L’importation d’Eclipse vers Android Studio ne fonctionne pas toujours correctement, notamment avec les anciennes versions d’Android Studio. Assurez-vous d’utiliser la bonne arborescence de répertoires. Cela devrait ressembler à ceci pour une application modérément mature:

 AppName/ // AppName is your app's name, obviously .gradle/ // This is a comstackr created directory. You should normally leave it alone .idea/ // Ditto build/ // This too gradle/ // And this app/ build/ libs/ src/ androidTest/ // Tests based on the Android instrumentation runner should go here main/ java/ fully/ // Typically com qualified/ // the domain name. Longer package // names may have deeper folder trees AppName/ // All your java files go here res/ drawable-*/ // One of these for each resolution you support layout/ // All of your general layouts menu/ // All of your menu layouts values/ // All of your resource xml files xml/ // PreferenceScreen layouts go here AndroidManifest.xml debug/ test/ // Pure jUnit tests should go here .gitignore app.iml build.gradle // This is the gradle file you should be making most changes to proguard-rules.pro .gitignore build.gradle // This gradle file should mostly be left alone gradle.properties gradlew local.properties AppName.iml settings.gradle 

Cela peut ne pas ressembler à ceci dans votre IDE. Il y a une liste déroulante au-dessus de l’arborescence de fichiers qui affiche vos fichiers de différentes manières, et par défaut, sur mon système, il s’agit d’un fichier appelé Android qui décompose vos fichiers en différents types. Il est plus facile de résoudre ce type de problème à partir de celui appelé Project, et même plus facilement directement à partir du système de fichiers de votre système d’exploitation, car Android Studio réduit les dossiers qui ne contiennent qu’un autre dossier sur une seule ligne.

Surtout si vous modifiez le nom de votre application, vous devez vous assurer que l’arborescence source principale / java / com / domain / AppName est mise à jour. Assurez-vous également que la balise de package dans votre fichier AndroidManifest.xml est correcte.

Si vos fichiers Gradle ou AndroidManifest.xml contiennent des erreurs, cela empêchera Android Studio de créer correctement vos fichiers de ressources. Les fichiers Gradle peuvent être rompus en mettant à niveau parfois Android Studio, en particulier depuis les versions antérieures à la version 1.0. Parfois, cela est dû au fait qu’il arrête de prendre en charge les anciennes versions du plug-in Gradle. Vous devez donc mettre à jour vos numéros de version. Il peut parfois être difficile de trouver quelles sont les versions actuelles. A partir d’aujourd’hui, 17/07/15, mes applications comstacknt bien avec com.android.tools.build:gradle:1.2.3 . Ceci est dans le bloc de dépendances dans le fichier de gradation le plus externe,

Si votre AndroidManifest fait référence à une ressource ou une activité tirable ou une chaîne inexistante, il se brisera et provoquera cette erreur. Parfois, si quelque chose fait référence à une ressource de dessin ou de chaîne inexistante, vous obtiendrez cette erreur.

Si vous avez un fichier dans vos ressources qui est endommagé ou un fichier XML non valide, vous obtiendrez cette erreur.

D’après mon expérience, il arrive parfois qu’Android Studio se heurte à des problèmes, et vous devez le redémarrer et / ou votre PC. Je ne sais pas pourquoi, mais parfois ça marche.

Si vous avez deux ressources XML portant le même nom, dans des répertoires qui ne se remplacent pas, vous pouvez avoir ce problème. Par exemple, vous pouvez avoir le même nom dans drawable-mhdpi et drawable-xhdpi, car ils se substituent l’un à l’autre en fonction du périphérique cible, mais si vous avez le même nom dans la présentation et dans le menu, cela posera un problème. Renommez ou supprimez l’un des fichiers.

Si seulement certaines ressources rencontrent ce problème, ces ressources sont probablement dans le mauvais répertoire.

Dans un cas, je devais réinstaller complètement Android Studio. Je ne sais pas ce qui n’allait pas, mais ça a marché.

Dans un cas, j’ai déplacé l’intégralité de mon projet dans un répertoire différent et l’ai réimporté en tant que nouveau projet. Je ne sais pas ce qui n’allait pas, mais ça a marché.

Les fichiers XML avec des mots réservés pour les noms peuvent provoquer ce problème. Renommez ou supprimez-les.

Votre fichier Gradle peut être utilisé de plusieurs manières pour référencer une version des outils de construction que vous n’avez pas installés. Corrigez cela en changeant Gradle ou en téléchargeant les outils de compilation appropriés.

Enfin, après avoir corrigé ce qui ne va pas, vous devez nettoyer votre projet Gradle. Vous faites cela en allant dans le menu Construire en haut et en sélectionnant Nettoyer le projet.

Build> Clean Project

Cela a fonctionné pour moi. Eu le même problème à plusieurs resockets, et cela semble le régler correctement. À moins que vous ayez changé quelque chose ou que vous ayez appelé une variable R. Ce problème se produit généralement de nulle part, quand cela m’arrive, alors j’imagine que ses studios Android ne sont pas à la hauteur. haha

En avoir un bon et bonne chance pour vos projets.

Do: Build> Clean Project

IMPORTANT: assurez-vous de ne pas avoir d’erreurs après le nettoyage du projet dans le volet des messages (Alt + 0). Si vous trouvez des cercles rouges avec un point d’exclamation, vous devez supprimer ces erreurs dans votre code.

La plupart du temps, ces erreurs sont liées à @ ssortingng / or @ array /. Nettoyer le projet à nouveau et fini!

J’ai dû importer mon paquet R dans Android Studio. Par exemple: import com.example..R

J’ai eu le même problème et cela se produit lorsque je crée un nouveau projet.

Ce que je fais c’est:

  • vérifier les mises à jour du SDK
  • puis les mises à jour du studio Android,
  • puis rouvrir le projet
  • ouvrez le fichier andoridmanifest.xml
  • effacer un espace entre un “_>” dans l’androïde: étiquette et sauvegarde.

Ça marche pour moi.

Cette notation semble fonctionner correctement.

 android:id="@+id/viewID" 

Le panneau de conception d’Android Studio ne semble pas bien fonctionner.

Même problème. Commencé lorsque j’ai ajouté quelques images dans mon dossier pouvant être dessiné et que j’ai tenté d’y accéder. De plus, les images ajoutées avaient l’extension avec des lettres majuscules. Cela semble avoir planté le build, car même si je les renommais, le message était le même et R était inaccessible. Ce que j’ai fait, c’est que, dans le fichier .iml, j’ai cherché le répertoire excludeFolder et les ai supprimés (comme ci-dessous):

             

Après cela, j’ai reconstruit le projet et R est reparti comme par magie.

J’ai eu le même problème et la plupart du temps, il est résolu par

  • Projet de synchronisation avec des fichiers graduels
  • Doing Build -> Clean Project
  • Doing File -> Invalidate Caches

Mais cette fois, l’erreur a persisté même après avoir fait toutes ces choses et j’ai enfin trouvé le coupable.

Le problème était dans un fichier xml , où j’ai donné une valeur de chaîne ordinaire pour un android:id au lieu d’un type de ressource id .

ERREUR

 android:id="username" 

CORRECTION

 android:id="@id/username" 

Messager des choses liées à des resources dans des fichiers XML est une des principales raisons de cette erreur. Attention, il peut ne pas apparaître comme une erreur dans le fichier de présentation XML.

REMARQUE

Dans la plupart des cas, le compilateur affiche la source de l’erreur dans le message. Essayez de vérifier d’abord avant de tenter d’autres solutions

J’ai un cas particulier pour ce problème.

Dans mon projet, tout se passe bien, il peut se comstackr et se construire avec succès, mais dans mon IDE Android Studio (et j’ai aussi essayé Intelligent IDEA, ils sont dans la même situation), le fichier R.java ne peut pas être résolu correctement. tomber en ligne rouge.

Juste comme ça: entrer la description de l'image ici

Cela m’a presque rendu fou, je ne peux pas supporter la couleur de lecture lorsque je programme.

Enfin, j’ai trouvé ce problème délicat causé par la taille de mon fichier R.java. Mon projet est très vaste, il prend en charge de nombreuses tailles multi-langues et multi-écrans. Il y a tellement de ressources que la taille de mon fichier R.java est d’environ 2,5 millions .

La taille maximale d’un fichier dans Android Studio est de 2,5 millions de parameters par défaut. Les fichiers supérieurs à cette limite ne peuvent donc pas être résolus correctement. Et vous pouvez modifier les parameters par défaut dans “AndroidStudio-root / bin / idea.properties”.

changer cette ligne:

 idea.max.intellisense.filesize=2500 

à :

 idea.max.intellisense.filesize=5000 

Puis redémarrez le studio Android, la couleur rouge rejetée, je peux programmer à nouveau joyeusement.

`J’ai eu le même problème et cela a résolu par:

 1) Sync Project with gradle files 2) Build -> Clean Project 3) Build -> Rebuild Project 4) File -> Invalidate caches //imp step 5) Check your xml files properly.` 

C’était un gros casse-tête pour moi. Dans mon cas, l’erreur est apparue après la configuration de “Google Play Services” dans Android Studio (installation + build.gradle config). Cela nécessite à son tour minsdk> 7 mais l’erreur est très floue à ce sujet (en réalité, une plainte à ce sujet apparaît uniquement comme “info”). En tout cas .. en changeant minsdk à 8 à la fois dans le fichier manifeste et le fichier build.gradle et en reconstruisant le projet, l’erreur a disparu.

Donc .. un conseil général à ce sujet, si je peux généraliser – vous avez probablement un problème dans votre fichier manifeste, ou dans un autre fichier de configuration, qui empêche une génération correcte. Essayez de regarder très sérieusement le rapport d’erreur, même les messages intitulés “info” pour tout indice sur ce que cela pourrait être …

changer la dernière version de sdk, c’était du travail pour moi

1.Cliquez sur le fichier, puis cliquez sur la structure du projet. 2. Ensuite, sélectionnez “app”, puis cliquez sur OK. entrer la description de l'image ici

Apparemment, dans mon cas, le problème a été résolu en ajoutant un “*” à la fin

 import android.R.*; 

Les causes de cette erreur sont multiples.

  1. Parfois, il se produit pour remplacer un fichier image gardant le même nom.
  2. Supposons que vous ayez supprimé un élément de votre layout .xml disons un mais il est toujours déclaré dans une activité ou un fragment .java.
  3. Beaucoup plus.

Le meilleur moyen de suivre l’erreur est de le reconstruire plutôt propre ou de le synchroniser avec une erreur intentionnelle.

S’il ne résout pas votre problème, il doit y avoir une erreur ou une erreur d’exécution ou une erreur est survenue en raison d’une mauvaise utilisation des ressources dans un code java ou xml ou dans votre conception qui oblige gradle à s’arrêter ) Le fichier esource ne peut pas indexer correctement vos ressources et vous devez l’admettre.

Si votre projet a été exécuté avant que vous ayez effectué les modifications, mettez en commentaire les modifications que vous avez apscopes et essayez de reconstruire le projet.

Cela fonctionnera sûrement puisqu’il n’y aura aucun changement.

Pour rechercher l’erreur exacte, vérifiez les modifications en décomposant les modifications en un module plus petit.

Par exemple – Si vous faites une liste visible avec un clic sur un bouton et en insérant des valeurs de liste dans l’adaptateur, vérifiez d’abord si vous pouvez la rendre visible ou non, puis vérifiez les erreurs de carte.

Dudes, je pense qu’il y a beaucoup de tirs dans le noir ici. Dans certains cas, Clean and Sync Project ne vous aidera que lorsque vous aurez résolu le problème.

Etape 1: Allez donc en haut de chaque fichier où le paquet est spécifié comme suit pakage="YourURL.YourProject"; et assurez-vous que le bon package (Your Own Project) est spécifié. Vous le trouverez dans les fichiers Java et AndroidManifest.xml et il est essentiel que les fichiers Java fassent référence au package correct, car ce package contient les ressources (“R”) sur lesquelles vous pointez. S’ils ne correspondent pas, l’erreur ne peut pas résoudre le symbole R se produit.

Step2: Clean, Sync, peu importe. Terminé

Alors pourquoi cela se produit-il au hasard ou qu’est-ce que je fais mal ??

Si vous copiez et collez du code, vous devez faire très attention au “package =” comme expliqué ci-dessus. Plus important encore, lorsque vous collez du code, il traverse immédiatement une sorte de débogueur (Excusez mon terme technique) pour vous montrer des “erreurs présumées”, qui prennent immédiatement en compte le “Mauvais paquet”, et vous obtenez toutes les erreurs. Par conséquent, même si vous avez immédiatement corrigé la notation après le collage, le débogueur a déjà été actualisé. C’est pourquoi “Clean, Sync, Whatever” fonctionne parfois