«Ne peut pas résoudre le symbole R» dans Android Studio

715

Dans tous les cas dans toutes mes classes où je fais référence R.id.something, le Rest en rouge et il dit "ne peut pas résoudre le symbole R". De plus, chaque fois qu'il y en a, R.layout.somethingil est souligné en rouge et indique «impossible de résoudre la méthode setContentView (?)». Le projet se construit toujours bien. C'est ennuyeux de voir ça tout le temps. J'ai lu de nombreuses autres questions ici à propos de quelque chose de similaire mais le plus impliqué dans l'importation de projets depuis 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 a fonctionné sans aucun problème "ne peut pas résoudre R". J'aimerais savoir ce qui cause cela si quelqu'un le sait.

ez4nick
la source
dans le passé, j'ai eu des erreurs xml telles que: la barre de progression ne peut pas être convertie en android.widget.textview, et j'ai corrigé cela en changeant simplement le nom de la vue de texte. Je ne sais toujours pas vraiment ce qui a causé l'erreur au départ.
ez4nick
Si vous avez changé le nom, vous essayez peut-être maintenant d'utiliser une référence de chaîne qui n'existe pas dans res / strings.xml?
Eyeball
2
J'ai cherché plusieurs fois avant de poser cette question et j'ai trouvé de nombreuses questions similaires, y compris celle que vous avez mentionnée. j'ai lu la suggestion dans cette question et il n'y a pas d'importation Android.R dans aucun de mes fichiers java.
ez4nick
2
Salut tout le monde, j'ai oublié de poser cette question car elle a été posée il y a si longtemps. J'aurais dû accepter ma propre réponse il y a un an qui est maintenant le commentaire ci-dessus. Le problème était simplement que le studio Android était à un stade si précoce à l'époque et en tant que nouveau développeur, je n'aurais jamais dû l'utiliser. Soyez assuré que tout fonctionne bien maintenant et que cela a été le cas. Si cela est possible, veuillez supprimer ma réponse d'origine afin que je puisse l'accepter.
ez4nick
3
Ne pas trouver R n'est pas votre erreur, c'est une erreur causée par une erreur de construction Corrigez vos autres erreurs et tout devrait bien se passer.
Just_someone

Réponses:

721

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


Cliquez sur Build-> Clean Project et cela effectuera un nettoyage gradle

Vipassana Vijayarangan
la source
56
Parfois, vous devez également redémarrer Android Studio. ou du moins pour moi.
Foo Bar User
24
Pour ceux qui convulsent à l'aide de la ligne de commande, cliquez sur Build-> Clean Project et cela effectuera un 'gradlew clean'. ;)
M. Concolato
22
Pas de chance ... La reconstruction du nettoyage ne fonctionne pas en moi
CandleCoder
7
si propre, reconstruire, invalider les caches-redémarrage ne résout pas, optez pour: import package.R;
Sudip Bhandari
2
Pour moi, cela posait le problème: incompatibilité entre ApplicationId dans gradle et le nom du package dans le manifeste (et bien que l'importation automatique ait ajouté la mauvaise adresse pour le fichier R). Je recommande ce petit article pour clarifier la différence entre les deux. blog.stylingandroid.com/package-name-vs-application-id
Tina
227

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

"Outils" -> "Android" -> "Projet de synchronisation avec les fichiers Gradle"

Dans la dernière version d'Android Studio 3.1.3 (juillet 2018), "Sync Project with Gradle Files" est disponible dans la barre de menu principale.

entrez la description de l'image ici

Tom C.
la source
Quelle était la version d'Android Studio que vous utilisiez à l'époque?
Joel Handwell
Ne fonctionne pas pour moi (Android Studio 0.8.14). Mais, le projet Build> Clean fonctionne bien.
Phat H.VU
Fonctionne toujours sous Android 1.2.1. N'oubliez pas de le faire plus d'une fois, si cela ne fonctionne pas la première fois.
noob
C'est la seule chose qui a fonctionné pour moi. J'ai essayé toutes les autres solutions en premier.
Mac
1
Dans Android Studio 3.1.1, cette option se trouve dans Fichier -> Projet de synchronisation avec les fichiers Gradle
Hrishikesh Kadam
155

J'utilisais Gradle 3.3.0. C'était le principal coupable. J'ai perdu 6,50 heures de ma vie. Gradle 3.2.1 a supprimé l'erreur.

classpath 'com.android.tools.build:gradle:3.2.1'

Problème résolu après avoir changé la version Gradle. L'historique des détails peut être trouvé ici .

Tushar Monirul
la source
9
Encore un exploit incroyable des développeurs de studios Android. Revenir en arrière 3.2.1était en fait la seule solution qui a fonctionné pour moi ...
Vucko
1
Étonnamment encore un problème 2 mois plus tard. La dernière version (3.3.2) ne l'a pas corrigé, 3.2.1 l'a fait.
JakeSteam
Au lieu de revenir à Gradle, 3.2.1vous pouvez également mettre à niveau Android Studio vers la version 3.3. Voir ma réponse ici
arne.z
cela a fonctionné en changeant 3.3.0 en 3.2.1 mais ma question cela fonctionnait bien sur 3.3.0 je venais de refactoriser et de mettre à jour le fichier xml manifeste et le fichier gradle et de synchroniser le gradle. Puis-je savoir quelle pourrait être la raison
insoftservice
25 heures d'Internet et ressemble à ceci est la seule solution de travail. Merci studio android: (....
Nahabwe Edwin
108

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

Projet propre et projet de synchronisation avec Gradle,

entrez la description de l'image ici

vérifier la version buildTools dans mon sdk entrez 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 depuis build.gradle (module: app)

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

Ou

Sélectionnez Fichier | La structure du projet change la version de Build Tools en 21.1.1

entrez la description de l'image ici

Mina Fawzy
la source
Cela aussi a fonctionné pour moi, en changeant les builds et en configurant les fichiers gradle (module)
Samuele Bolognini
Merci, comme sage, c'était la solution.
App Dev Guy
58
  1. Vérifiez vos fichiers xml.
  2. Projet propre.

Ça y est.

Par exemple, j'avais une entrée dans mon strings.xml:

<string name="A">Some text</string>

Et activity_main.xmlj'ai utilisé cette entrée de chaîne

<TextView
android:id="@+id/textViewA"
android:text="@string/A"/>

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

 <string name="A">Some text</string>

Et par conséquent activity_main.xmlest devenu non valide. En conséquence: ne peut pas résoudre R.

Alors, vérifiez vos *.xmlfichiers et nettoyez le projet.

Yuriy
la source
Cela m'a vraiment sauvé la vie [PLUS ONE]
GingerHead
Une image manquante à laquelle un de mes XML a fait référence a provoqué ce problème pour moi. Mettez l'image dans le dossier, nettoyée et R est à nouveau heureux.
Casey Murray
J'ai accidentellement défini ma chaîne deux fois dans strings.xml. Studio ne l'a pas montré du tout. X- (Merci pour votre réponse.
codingjeremy
C'est pour les autres développeurs qui lisent. Cette seule approche devrait résoudre le problème comme elle l'a fait pour moi.
Paramvir Singh Karwal
6
Pourquoi n'y a-t-il pas de commentaires pour souligner les mauvais fichiers XML dans l'EDI?
Fuhrmanator
53

Si vous voyez cette erreur après avoir déplacé des fichiers ou des répertoires Java vers d'autres emplacements, vous pouvez garantir qu'Android Studio est devenu confus. Et devine quoi? l'annulation de ces actions ne résout pas le problème.

Vous essayez donc un nettoyage, mais cela ne fonctionne pas.

Et le redémarrage ne fonctionne pas non plus.

Mais essaie Fichier -> Invalider les caches / redémarrer ... -> Invalider et redémarrer

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

Cela signifie que vous devez non seulement redémarrer, mais vous devez invalider ces caches pour restaurer (ou plus précisément, reconstruire) l'intégrité.

Scott Biggs
la source
N'a pas aidé. Essayé de nettoyage / reconstruction aussi. Une erreur s'est produite après avoir déplacé le package java dans un autre package. Fait intéressant, dans un package, la classe R est accessible, mais elle n'est pas accessible dans le package que j'ai déplacé.
impression
Dans les versions les plus récentes d'Android Studio, Invalidate et Restart sont désormais la sélection de menu par défaut. Cela devrait aider au moins quelques personnes. (Dommage qu'ils ne corrigent pas tous les bugs fous qui causent cette erreur en premier lieu!)
Scott Biggs
1
J'ai eu cette erreur après avoir déplacé et renommé un projet. Cela a résolu le problème R après tout nettoyage et redémarrage non. Je vous remercie.
FrankKrumnow
2
Cela prend à peu près le même temps que de prendre une tasse de café - qui à son tour peut être utilisée pour prendre une bonne douche de café si elle marque toujours R en rouge ... ヽ (´ ー `) ノ
ZooMagic
1
trouvé un gif pour mon commentaire précédent -> tenor.com/view/…
ZooMagic
30

Je pense que si vous mettez vos fichiers d'activités dans un autre dossier que celui par défaut. Vous devez importer le com.example.yourproject.R(c'est votre Rfichier de projet PAS le Android.Rfichier) dans TOUTES les activités utilisant R. Par exemple, dans le MainActivityfichier, insérez cette ligne:

import com.example.yourproject.R;
ninjahoahong
la source
1
Ah, et il y aura toujours un message d'erreur avant la première construction. Cependant, vous appuyez simplement sur build, Android Studio générera le fichier R et la build devrait réussir.
ninjahoahong
et je pense qu'il vaut mieux qu'après le correctif, vous devriez nettoyer votre projet puis construire. ou appuyez sur Maj + F9 pour déboguer avec votre appareil ou émulateur. Je préfère déboguer sur un appareil réel.
ninjahoahong
C'est la meilleure solution. Merci mec
Arundev
cette réponse était la baguette magique. merci
leeCoder
28

Il semble y avoir plusieurs causes à ce problème. Récemment, j'ai ajouté une activité à tester appelée NewActivity. Cela a créé un fichier appelé res/menu/new.xmlet gradle n'aimait pas 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 devrez peut-être résoudre d'autres problèmes avant d'exécuter ces commandes.

chawkinsuf
la source
merci aussi pour moi. Petite question - où dois-je taper gradlew clean si je veux le faire de cette façon (j'ai fait "Tools" -> "Android" -> "Sync Project with Gradle Files")?
Sergii
Ouvrez un terminal de commande, basculez vers le répertoire du projet et exécutez "./gradlew clean"
chawkinsuf
C'était ça pour moi. Merci!
TinyGrasshopper
Comment cela résout-il mieux le problème que «Rebuild Project»?
IgorGanapolsky
Oui, dans mon cas, j'ai ajouté un fichier png, appelé "import.png". J'ai dû le renommer, dans mon cas "import_icon.png", puis le projet s'est bien compilé.
mihai71
17

Le fichier R.java contient le lien entre xml et la page java. «R ne peut pas être résolu» n'apparaît qu'en cas de problème avec certains de vos fichiers de ressources. Donc, le meilleur moyen et efficace est de supprimer le dernier fichier xml ou dessinable dans le fichier res. puis recommencer à partir de là selon les normes de codage android. C'est la seule façon. La manière efficace et juste.

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

Minto
la source
Dans mon cas, il n'y avait pas seulement des problèmes en XML, mais aussi en PNG (en dessinable).
CoolMind
15

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

Allez simplement dans Build -> Clean Project .

Cela devrait faire l'affaire.

Vérifiez également votre version d'Android Studio.

J'utilise actuellement Android Studio 3.0.1 .

lloydyu24
la source
14

Avez-vous récemment mis à jour vos outils SDK? Lancez le gestionnaire de SDK Android et assurez-vous que vous disposez des derniers outils SDK, qui sont 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 d'outils de construction du SDK ne s'est pas présenté pour l'installation / la mise à jour jusqu'à ce que je ferme et rouvre le gestionnaire de SDK.

invertigo
la source
je crois que tout y est à jour. cela pourrait-il vraiment causer un problème comme celui-ci?
ez4nick
si vous n'avez pas installé les nouveaux outils de construction du SDK , oui.
invertigo
12

Nettoyez simplement votre projet et synchronisez le projet avec le fichier Gradle.entrez la description de l'image ici

Et le problème sera résolu.

Arunendra
la source
Il convient de noter qu'un clic droit sur "application" et un clic sur le bouton de synchronisation dans le menu n'y parviennent pas. Merci.
Mafro34
11

J'ai eu ça avec

  1. Une lettre majuscule dans mes ressources dessinables.
  2. Importez Android.R ajouté par Android Studio (ou Eclipse)
  3. Erreur dans le fichier xml
Ryan Heitner
la source
J'ai eu le problème car il y avait une erreur dans l'un de mes fichiers XML. A résolu le problème puis a fait unBuild->Clean Project
AjayCodes
11

J'ai récemment eu ce problème et le nettoyage / build, etc. ne l'a pas résolu. J'ai deviné 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 découvrir ce que c'est en effectuant une analyse de code.

Dans le menu en haut, choisissez:

Analyser -> Inspecter le code, scanner l'ensemble du projet en utilisant le profil 'Default'.

Vos résultats d'inspection contiendront un élément appelé «Android». Ici, vous obtiendrez 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 est dû au fait que j'utilisais des fichiers de manifeste basés sur la saveur et que j'ai copié certaines autorisations à l'intérieur de la <application>balise dans la saveur par accident.

Inspection

MISE À JOUR: J'ai eu un problème après où Android Studio montrait toujours l'erreur après la correction, même si je pouvais maintenant construire et fonctionner parfaitement bien pendant que l'erreur était toujours là. (Je suis en train de construire une construction de canaris, donc le mettre pour l'instant)

Matthew Cawley
la source
Fait intéressant, j'ai eu ce problème sur un seul fichier et j'ai exécuté le processus "Inspecter le code" et il s'est effacé lui-même (le nettoyage et la reconstruction ne l'ont pas corrigé). Il devait y avoir quelque chose de coincé dans Lint que seul cela pouvait éclaircir. Merci!
rundavidrun
Merci pour ça! Bien que cela ait trouvé de nombreuses erreurs générales, ce qui était attendu, le morceau qui a fait tomber tout le château était une petite erreur de syntaxe dans un fichier XML généré par Asset Studio! Une fois que j'ai résolu cela, un projet propre m'a permis d'avancer.
Bink
10

J'ai dû importer mon Rpackage dans Android Studio. Par exemple:import com.example.<package name>.R

Pervy Sage
la source
1
Je suis venu ici avant de penser. Merci encore
Ohiovr
1
Cela a fonctionné pour moi. Merci beaucoup.
Aquarius_Girl
Cela m'est arrivé après avoir refactorisé le nom de mon package, mais le studio Android a en quelque sorte quitté le import com.example.old-package-name.R, j'ai donc dû renommer l'importation.
auspicious99
9

C'est une très vieille question, mais elle se produit toujours beaucoup et il n'y a pas de réponse vraiment complète ici.

J'ai eu ce problème plus de fois que je ne veux l'admettre. Cela peut être dû à une grande variété de problèmes qui ont principalement à voir avec la structure de votre projet qui ne correspond pas à ce qui est attendu. 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, en particulier avec les anciennes versions d'Android Studio. Assurez-vous que vous utilisez la bonne arborescence de répertoires. Cela devrait ressembler à ceci pour une application moyennement mature:

AppName/        // AppName is your app's name, obviously
    .gradle/    // This is a compiler 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, celle appelée Android qui décompose vos fichiers en leurs différents types. Il est plus facile de résoudre ce type de problème à partir de celui appelé Project, et encore plus facile 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 changez le nom de votre application, vous devez vous assurer que l'arborescence source main / java / com / domain / AppName est mise à jour. Assurez-vous également que la balise de package dans votre AndroidManifest.xml est correcte.

S'il y a des erreurs dans vos fichiers Gradle ou dans votre fichier AndroidManifest.xml, cela empêchera Android Studio de créer correctement vos fichiers de ressources. Les fichiers Gradle peuvent parfois être cassés en mettant à niveau Android Studio, en particulier à partir des versions antérieures à 1.0. Parfois, cela est dû au fait qu'il cesse 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 les versions actuelles. À ce jour, 17/07/15, mes applications se compilent bien aveccom.android.tools.build:gradle:1.2.3 . C'est dans le bloc des dépendances dans le fichier gradle le plus à l'extérieur,

Si votre AndroidManifest fait référence à une ressource ou une activité de dessin ou de chaîne inexistante, il se cassera 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 corrompu ou un fichier xml non valide, vous obtiendrez cette erreur.

D'après mon expérience, parfois Android Studio hoquet sans raison, 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 avec 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 remplacent en fonction du périphérique cible, mais si vous avez le même nom dans la disposition et dans le menu, cela posera un problème. Renommez ou supprimez l'un des fichiers.

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

Dans un cas, j'ai dû réinstaller complètement Android Studio. Je ne sais pas ce qui n'allait pas, mais cela a fonctionné.

Dans un cas, j'ai déplacé tout mon projet vers 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 cela a fonctionné.

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

Il existe plusieurs façons dont votre fichier Gradle peut finir par référencer une version des outils de build que vous n'avez pas installé. Corrigez cela en changeant Gradle ou en téléchargeant les outils de construction appropriés.

Enfin, après avoir corrigé ce qui ne va pas, vous devez nettoyer votre projet Gradle. Pour ce faire, accédez au menu Générer en haut et sélectionnez Nettoyer le projet.

TBridges42
la source
9

Accédez simplement à la liste du menu supérieur d'Android. cliquez sur Build Menu, sous Build, cliquez sur Rebuild Project.

entrez la description de l'image ici

Gundu Bandgar
la source
9

J'ai rencontré ce problème lorsque j'ai renommé manuellement le dossier de domaine de mon application. Pour résoudre ce problème, j'ai dû

  1. Définissez la packagestructure de dossier appropriée de <manifest>inAndroidManifest.xml .
  2. Définir le nouvel emplacement de package pour android:namede <activity>dansAndroidManifest.xml .
  3. Vider le cache par

Menu Fichier -> Invalider les caches / redémarrer ...

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

Sridhar
la source
9

J'ai eu le même problème: Android Studio 3.2 Le projet se compile et fonctionne correctement, mais je reçois des avertissements à l'écran "Impossible de résoudre le symbole" R "

N'aide pas :

  • Build-> Clean Project
  • Build-> Rebuild Project
  • Fichier-> Invalider les caches / redémarrer

Aide:

Soit

dans build.gradle

dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0'
...
}

remplacer par

   dependencies {
            classpath 'com.android.tools.build:gradle:3.2.1'
    ...
    }

ou

Mettre à jour Android Studio vers 3.3

Alex Burov
la source
Tu m'as sauvé la vie ! La mise à jour du studio Android vers la version 3.4 a résolu le problème pour moi
Artory
8

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

Dans mon projet, tout se passe bien, il peut se compiler 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 bien résolu et toujours être déposer en ligne rouge.

Juste comme ça: entrez 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é que ce problème délicat est dû à la taille du fichier de mon 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 du fichier de mon R.java est d'environ 2,5M .

La taille maximale d'un fichier dans Android Studio est de 2,5 M dans les paramètres par défaut, donc les fichiers plus grands que cette limite ne peuvent pas être résolus correctement. Et vous pouvez modifier les paramètres par défaut dans "AndroidStudio-root / bin / idea.properties".

changez cette ligne:

idea.max.intellisense.filesize=2500

à :

idea.max.intellisense.filesize=5000

Redémarrez ensuite Android studio, la couleur rouge rejetée, je peux à nouveau programmer avec bonheur.

Fido Zhang
la source
Dans Android 3.2, il suffit d'aider / Modifier les propriétés personnalisées
Beto
bonne astuce, mais cela n'a pas résolu mon symbole ne peut pas résoudre R
Aliton Oliveira
7

Build> Clean Project

Cela a fonctionné pour moi. A eu le même problème plusieurs fois, et cela semble le régler. Sauf si vous avez changé quelque chose ou 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 flippent. haha

Bonne chance et bonne chance dans vos projets.

S.Pedro
la source
Merci. Il a travaillé pour moi aussi. J'ai remplacé certaines images en dessinable et j'ai obtenu cette erreur.
KCP
7

À faire: construire> nettoyer le projet

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 à @ string / ou @ array /. Nettoyez le projet à nouveau et terminé!

Hassan Naqvi
la source
7

J'ai eu le même problème, et cela arrive 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 rouvrez le projet
  • ouvrez le fichier andoridmanifest.xml
  • effacer un espace entre un "_>" dans l'androïde: étiqueter et enregistrer.

Ça marche pour moi.

Elsanty
la source
7

J'ai eu du mal à résoudre ce problème moi-même.

  • Assurez-vous que vos fichiers layout.xml ne contiennent aucune erreur.
  • Allez dans Build> Clean project

Cela a fonctionné pour moi, j'espère que cela fonctionne aussi pour vous.

Oussama Essamadi
la source
6

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

  • Projet de synchronisation avec les fichiers Gradle
  • Faire de la construction -> Clean Project
  • Faire un fichier -> invalider les 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:idau lieu d'un type de ressource id .

ERREUR

android:id="username"

CORRECTION

android:id="@id/username"

Gâcher des choses liées aux resourcesfichiers xml est une des principales raisons de cette erreur.

REMARQUE

Dans la plupart des cas, le compilateur vous indique la source d'erreur dans le message. Essayez de le vérifier avant d'essayer d'autres solutions

Siva Prakash
la source
6

`J'ai eu le même problème et il 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.`
Bapusaheb Shinde
la source
C'est une bonne réponse, même si je n'avais besoin que de placer '//' dans le fichier gradle et de sélectionner resynchroniser. Ensuite, tous les AS ont reconnu l'importation et m'ont permis d'exécuter l'application.
Val
5

Cette notation semble bien fonctionner.

android:id="@+id/viewID"

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

Tevin J
la source
5

Même problème. Commencé lorsque j'ai ajouté quelques images dans mon dossier dessinable et essayé d'y accéder. Les images ajoutées avaient également l'extension avec des majuscules. Cela semble avoir bloqué la construction, car même si je les renommais, le message était le même et R était inaccessible. Ce que j'ai fait, dans le fichier .iml, j'ai recherché le dossier excludeFold et je l'ai supprimé (comme ci-dessous):

  <excludeFolder url="file://$MODULE_DIR$/build/apk" />
  <excludeFolder url="file://$MODULE_DIR$/build/assets" />
  <excludeFolder url="file://$MODULE_DIR$/build/bundles" />
  <excludeFolder url="file://$MODULE_DIR$/build/classes" />
  <excludeFolder url="file://$MODULE_DIR$/build/dependency-cache" />
  <excludeFolder url="file://$MODULE_DIR$/build/incremental" />
  <excludeFolder url="file://$MODULE_DIR$/build/libs" />
  <excludeFolder url="file://$MODULE_DIR$/build/manifests" />
  <excludeFolder url="file://$MODULE_DIR$/build/res" />
  <excludeFolder url="file://$MODULE_DIR$/build/symbols" />
  <excludeFolder url="file://$MODULE_DIR$/build/tmp" />

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

user1137313
la source
5

Il y a plusieurs causes à cette erreur.

  1. Parfois, cela se produit pour remplacer un fichier image gardant le même nom.
  2. Supposons que vous ayez supprimé un élément de votre mise en page .xml, par exemple a, <Button/>mais qu'il est toujours déclaré dans une activité ou un fragment .java.
  3. Beaucoup plus.

La meilleure façon de suivre l'erreur est de la reconstruire plutôt propre ou de la synchroniser en faisant une erreur intentionnelle.

Si cela ne résout pas votre problème, il doit y avoir une faille ou une erreur d'exécution ou une erreur s'est produite en raison d'une mauvaise utilisation des ressources dans peut être à la fois un fichier java ou xml dans votre code ou conception qui force gradle à s'arrêter parce que (R ) Le fichier esource ne peut pas indexer correctement vos ressources et vous devez l'admettre.

Si votre projet a été exécuté avant d'effectuer les modifications, mettez en commentaire les modifications que vous avez apportées et essayez de reconstruire le projet.

Cela fonctionnera sûrement car il n'y aura aucun changement.

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

Par exemple - Si vous rendez une liste visible avec un clic sur un bouton et insérez des valeurs de liste dans l'adaptateur, vérifiez d'abord si vous pouvez la rendre visible ou non, puis recherchez les erreurs d'adaptateur.

Sourav Roy
la source
4

Ce fut un gros mal de tête pour moi. Dans mon cas, l'erreur est apparue après la configuration de "Google Play Services" dans Android Studio (installation de + config build.gradle). Cela nécessite à son tour minsdk> 7 mais l'erreur n'est pas très claire à ce sujet (en fait, une plainte à ce sujet n'apparaît que sous la forme "info"). Quoi qu'il en soit .. lors de la modification de minsdk en 8 à la fois dans le fichier manifeste et le fichier build.gradle et la reconstruction du 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 construction correcte. Essayez de regarder très fort le rapport d'erreur, même les messages intitulés "info" pour avoir une idée de ce que cela pourrait être ...

ayal gelles
la source