Dans tous les cas dans toutes mes classes où je référence R.id.something
, la R
est en rouge et indique "ne peut pas résoudre le symbole R". De plus, chaque fois qu'il y a R.layout.something
, il est souligné en rouge et indique "impossible de résoudre la méthode setContentView (?)". Le projet construit toujours bien. Il est agaçant de voir cela tout le temps. J'ai lu de nombreuses autres questions sur quelque chose de similaire mais qui impliquait le plus souvent 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 fonctionne sans aucun problème "impossible à résoudre R". J'aimerais savoir quelle en est la cause si quelqu'un le sait.
J'ai eu ce problème aussi. Un simple "gradlew clean" et "gradlew build" ont fait l'affaire.
Cliquez sur Construire-> Nettoyer le projet et qui effectuera un nettoyage de dégradé
Dans les dernières versions d'Android Studio, du moins pour moi, ce qui suit fonctionne:
"Outils" -> "Android" -> "Synchroniser le projet avec des fichiers Gradle"
Dans la dernière version d'Android Studio 3.1.3 (juillet 2018), "Synchroniser le projet avec des fichiers Gradle" est disponible dans la barre de menus principale.
J'ai le même problème et voici ce que j'ai fait:
projet propre et projet de synchronisation avec Gradle,
vérifiez la version de buildTools dans mon sdk
A partir du niveau de construction (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)
Changer de build.gradle (module: app)
Android {
compileSdkVersion 21
buildToolsVersion '21.0.1'
......
....
}
Ou
sélectionnez Fichier | Modification de la structure du projet Version des outils de génération en 21.1.1
J'utilisais grade 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 le changement de version. Les détails peuvent être trouvés ici .
Ça y est.
Par exemple, j'ai eu une entrée dans mon strings.xml
:
<string name="A">Some text</string>
Et dans activity_main.xml
j'ai utilisé cette entrée de chaîne
<TextView
Android:id="@+id/textViewA"
Android:text="@string/A"/>
Alors que je travaillais avec le projet, j'ai supprimé ce
<string name="A">Some text</string>
Et par conséquent, activity_main.xml
est devenu non valide. Comme résultat: impossible de résoudre R.
Alors, vérifiez vos fichiers *.xml
et nettoyez le projet.
Si vous voyez cette erreur après avoir déplacé des fichiers ou des répertoires Java vers d'autres emplacements, vous pouvez alors garantir qu'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 le redémarrage ne fonctionne pas non plus.
Mais essayez File -> Invalidate Caches/Restart ... -> Invalidate and Restart
Android Studio conserve des informations sur les fichiers dépendants des 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: des caches de ces dépendances sont utilisés pour tenter d'accélérer la construction.
Cela signifie que vous devez non seulement redémarrer, mais également invalider ces caches pour restaurer (ou plus précisément, reconstruire) la santé.
Il semble y avoir plusieurs causes à ce problème. Récemment, j'ai ajouté une activité à tester avec 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 d'exécuter ces commandes.
Je pense que si vous mettez vos fichiers d’activités dans un autre dossier que celui par défaut. Vous devez importer le fichier com.example.votreprojet.R (il s’agit du fichier de votre projet R PAS du fichier Android.R) dans TOUTES les activités utilisant R. Par exemple, dans le fichier MainActivity, insérez cette ligne:
importer com.example.yourproject.R;
Votre code est juste 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.
Avez-vous mis à jour vos outils SDK récemment? Lancez le gestionnaire de SDK Android et assurez-vous de disposer des derniers outils de SDK, qui sont désormais distincts des outils de la plate-forme. J'ai eu le même problème lorsque j'ai mis à jour mon gestionnaire de SDK pour la première fois. Le paquet SDK build tools ne s'est pas présenté pour l'installation/la mise à jour jusqu'à ce que je ferme et rouvre le gestionnaire de SDK.
Brother, le fichier R.Java contient le lien entre la page XML et Java. "R ne peut pas être résolu" uniquement en cas de problème avec certains de vos fichiers de ressources. Donc, le meilleur moyen efficace est de supprimer le dernier xml ou le fichier dessinable dans le fichier res. et recommencez à 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. ..
Bonne codage .. :)
Il suffit de nettoyer votre projet et de synchroniser le projet avec Gradle File.
Et le problème sera résolu.
J'ai récemment eu ce problème et le nettoyage/construction, etc. n'a pas résolu le problème. 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 de ressources xml, etc.?).
Lorsque quelque chose ne va pas, vous pouvez le découvrir en effectuant une analyse de code.
Dans le menu en haut, choisissez:
Analyser -> Inspecter le code, analysez l'ensemble du projet à l'aide du profil "Par défaut".
Les résultats de votre 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 construction, ce qui indiquera les erreurs en rouge.
Mon problème exact est dû au fait que j'utilisais des fichiers de manifeste basés sur une saveur et que j'avais copié par accident certaines autorisations à l'intérieur de la balise <application>
dans la saveur.
UPDATE: J'ai eu un problème après qu'Android Studio affichait toujours l'erreur après le correctif, même si je pouvais maintenant construire et fonctionner parfaitement tant que l'erreur était toujours présente. (Je suis en train de lancer une construction canarienne, donc je le mets au fond pour le moment)
J'ai eu cela avec
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
package
appropriée de <manifest>
dans AndroidManifest.xml
.Android:name
sur <activity>
dans AndroidManifest.xml
.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.
Je devais importer mon paquet R
dans Android Studio. Par exemple: import com.example.<package name>.R
Faire: Construire> Nettoyer le projet
IMPORTANT: Assurez-vous de ne pas avoir d'erreur 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.
Généralement, ces erreurs sont liées à @ string/ou @ array /. Clean Project encore et terminé!
J'ai eu du mal à résoudre ce problème moi-même.
Cela a fonctionné pour moi, espérons que cela fonctionne pour vous aussi.
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:
Ça marche pour moi.
Construire> Projet propre
Cela a fonctionné pour moi. A eu le même problème à quelques reprises, et cela semble régler le problème. À moins que vous n'ayez changé quelque chose ou appelé une variable R. Ce problème survient généralement de nulle part, quand cela m’arrive, alors j’imagine que c’est juste les studios Android qui flippent. haha
Ayez-en un bon et bonne chance dans vos projets.
J'ai un cas particulier pour ce problème.
Dans mon projet, tout se passe bien, il peut compiler et 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 et reste toujours déposer dans la ligne rouge.
Cela m'a presque rendu fou, je ne peux pas supporter la couleur lue lorsque je programme.
Enfin, j'ai trouvé ce problème épineux en raison de la taille de mon fichier R.Java . Mon projet est énorme, 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,5M.
La taille maximale d'un fichier dans Android Studio est de 2,5 Mo avec les paramètres par défaut. Par conséquent, les fichiers dont la taille est supérieure à 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".
changer cette ligne:
idea.max.intellisense.filesize=2500
à :
idea.max.intellisense.filesize=5000
Ensuite, redémarrez Android Studio, la couleur rouge étant rejetée, je peux programmer à nouveau avec joie.
C'est une très vieille question, 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 ne veux l'admettre. Cela peut être dû à un grand nombre de problèmes, liés principalement au fait que la structure de votre projet 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 le bon répertoire. 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. Au-dessus de l’arborescence de fichiers, une liste déroulante affiche vos fichiers de différentes manières. Par défaut, sur mon système, un système appelé Android divise vos fichiers en différents types. Il est plus facile de résoudre ce type de problème depuis celui appelé Project et encore plus directement depuis le système de fichiers de votre système d'exploitation, car Android Studio réduit les dossiers ne contenant 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 main/Java/com/domain/AppName est mise à jour. Assurez-vous également que la balise du package dans votre fichier 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 être cassés en mettant parfois à jour Android Studio, notamment à 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. À compter d'aujourd'hui, le 17/07/15, mes applications compilent bien avec com.Android.tools.build:gradle:1.2.3
. C’est dans le bloc des dépendances du fichier Gradle le plus externe,
Si votre AndroidManifest fait référence à une ressource ou à une activité inexistante (s) ou à une chaîne, il se cassera et causerait cette erreur. Parfois, si quelque chose fait référence à une ressource inexistante pouvant être dessinée ou à une chaîne, 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 craque sans raison, et vous devez le redémarrer et/ou votre PC. Je ne sais pas pourquoi, mais parfois ça marche.
Si vous disposez de deux ressources XML portant le même nom, dans des répertoires ne se substituant pas, vous pouvez rencontrer ce problème. Par exemple, vous pouvez avoir le même nom dans drawable-mhdpi et drawable-xhdpi car ils se chevauchent 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 problème. Renommez ou supprimez l'un des fichiers.
Si seules certaines ressources rencontrent ce problème, celles-ci se trouvent 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 ça a fonctionné.
Dans un cas, j'ai déplacé tout mon projet dans un autre répertoire et je l'ai réimporté en tant que nouveau projet. Je ne sais pas ce qui n'allait pas, mais ça a fonctionné.
Les fichiers XML avec des mots réservés pour les noms peuvent causer ce problème. Renommez ou supprimez-les.
Votre fichier Gradle peut faire référence à une version des outils de compilation que vous n'avez pas installée de plusieurs manières. 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. Vous faites cela en allant dans le menu Générer en haut et en sélectionnant Nettoyer le projet.
Cette notation semble bien fonctionner.
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 essayé d’y accéder. De plus, les images ajoutées avaient l'extension avec des lettres 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 est, dans le fichier .iml j'ai cherché le excludeFolder et les ai supprimés (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 réapparu comme par magie.
J'ai eu le même problème et la plupart du temps, il est résolu par
Mais cette fois, l'erreur a persisté même après toutes ces choses et j'ai enfin trouvé le coupable.
Le problème était dans un fichier xml , où j’ai donné la 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"
Déranger les objets liés à
resources
dans les fichiers xml est un problème majeur raison de cette erreur.Assurez-vous qu'il ne puisse pas être affiché comme une erreur dans le fichier de présentation XML.
REMARQUE
Dans la plupart des cas, le compilateur vous indique la source de l'erreur dans le message . Essayez de le vérifier avant de tenter une autre solution.
`J'ai eu le même problème et il a été 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 mal de tête pour moi. Dans mon cas, l'erreur est apparue après la configuration des "Services Google Play" dans Android Studio (installation de + build.gradle config). Cela nécessite à son tour minsdk> 7 mais l'erreur est très floue (en réalité, une plainte à ce sujet n'apparaît que comme "info"). Quoi qu'il en soit .. lors de la modification de minsdk en 8 à la fois dans le fichier manifeste et dans le fichier build.gradle et lors de la reconstruction du projet, l'erreur avait 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 tout indice sur ce que cela pourrait être ...
Mec, je pense qu'il y a beaucoup de coups dans le noir ici. Dans certains cas, Clean and Sync Project vous aidera uniquement après avoir résolu le problème.
Step1: Alors, allez en haut de chaque fichier où le package est spécifié comme suit pakage="YourURL.YourProject";
et assurez-vous que le package correct (Votre propre projet) est spécifié. Vous le trouverez dans les fichiers Java et AndroidManifest.xml. Il est essentiel que les fichiers Java fassent référence au package correct, car ce package contient les ressources ("R") que vous indiquez. à. 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 porter une attention particulière au "package =" comme expliqué ci-dessus. Plus important encore, lorsque vous collez du code, il passe immédiatement à travers un sorte de débogueur (Excusez mon terme technique) pour vous montrer des "erreurs présumées", qui prennent immédiatement en compte le "paquet erroné" et vous obtenez tous les éléments. the errors . 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 "Nettoyer, Sync, tout ce que" fonctionne PARFOIS
Il y a plusieurs causes à cette erreur.
<Button/>
mais qu'il soit toujours déclaré dans une activité ou un fragment .Java.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, alors il doit y avoir une erreur ou une erreur d'exécution ou une erreur est survenue à cause d'une mauvaise utilisation des ressources. Il peut s'agir d'un fichier Java ou XML dans votre code ou votre conception, ce qui oblige gradle à s'arrêter car (R ) Le fichier esource ne peut pas indexer correctement vos ressources et vous devez l’avouer.
Si votre projet a été exécuté avant les modifications, commentez-les et essayez de reconstruire le projet.
Cela fonctionnera sûrement puisqu'il n'y aura aucun changement.
Pour localiser l'erreur exacte, vérifiez les modifications en les décomposant en modules plus petits.
Par exemple - Si vous rendez une liste visible en cliquant sur un bouton et en insérant des valeurs de liste dans l'adaptateur, commencez par vérifier si vous pouvez la rendre visible ou non, puis recherchez les erreurs éventuelles de l'adaptateur.
Le nettoyage, la reconstruction et "Cache Remove" ne m'aident pas.
Pour moi, le problème était que je suis passé à une version de Gradle qui semble avoir quelques bugs. 3.4.0-alpha02
était ce que j’avais mis à jour et j’ai trouvé que c’était le coupable de l’erreur "Impossible de résoudre le symbole R". Je suis revenu à 3.3.0-alpha10
(c'est-à-dire classpath 'com.Android.tools.build:gradle:3.3.0-alpha10'
) et le problème a été résolu.
Ce n'est évidemment pas une solution durable, car je devrai mettre à niveau tôt ou tard, mais à partir du 3 novembre 2018, 3.4.0-alpha02
est la dernière version et empêche mon développement de ne pas me laisser faire le tour de IDE en cliquant sur R références.
Cela m'est arrivé assez récemment lorsque j'ai mis à jour la plupart des bibliothèques d'un projet. R
n’a pas été trouvé, mais je pourrais très bien construire et exécuter le projet. Il ne s'est pas écrasé. Le IDE a simplement montré du rouge partout.
J'ai essayé de
compileSdkVersion
et targetSdkVersion
car jadis, je rencontrais des problèmes de ressources. Dans ce projet cependant, ce n'était pas le cas.idea.max.intellisense.filesize
ajusté à une valeur très élevée, n'a pas aidéEn fin de compte, j'ai constaté que le déclassement de mes outils de génération Gradle (de 3.3.1 à 3.2.1) résolvait le problème. C'était le seul changement que je devais faire. Le reste, mis à jour. Maintenant, toutes mes bibliothèques sont mises à jour sans problèmes.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
//classpath 'com.Android.tools.build:gradle:3.3.1'
classpath 'com.Android.tools.build:gradle:3.2.1'
classpath 'com.google.gms:google-services:4.2.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
Importez simplement le symbole R à partir du paquet racine
import rootpackage.R;
Aucune reconstruction, synchronisation ou autre chose ...
Une chose qui fonctionne pour moi à chaque fois est:
allez dans -> build.gradle (Module: app)
fichier de votre projet -> faites un petit changement (par exemple: mettez un <space>
quelque part et supprimez-le) -> alors le studio Android vous demandera de sync
votre fichier de gradation -> en haut à droite coin du fichier -> select "sync now"
.
Une fois la synchronisation terminée, le problème sera résolu dans la plupart des cas.
Dans mon cas, après avoir eu la même erreur (impossible de résoudre le symbole R) avec la version 0.8.9 du studio Android, je me suis dirigé vers la structure Fichier-> Projet et ai modifié l'emplacement du JDK en Oracle JDK que j'ai installé manuellement. Donc dans mon cas sous Linux au lieu de/usr/lib/jvm/Java-7-Oracle qui était celui prédéfini. Je l'ai changé pour /home/phvz/App/jdk1.8.0_20 enregistré les paramètres et le problème de symbole R a été corrigé immédiatement
Ce qui a fonctionné pour moi a été:
Créé un nouveau projet.
Constaté que le R se réveille!
Trouvé cette différence dans le fichier de niveaux: compiler 'com.Android.support:appcompat-v7:23.4.0'
Sync, et ça a encore fonctionné!
J'ai ce problème surtout lorsque j'ai corrompu accidentellement un fichier de ressources layout ou menu . Le scénario où j'ai touché ne peut pas résoudre le symbole R est lorsque j'oublie d'ajouter "@+id
" à celui où je dois définir un identifiant dans un élément de menu.
Avec un fichier de ressource de menu corrompu, j'obtiens cette erreur si j'essaie de construire le projet avec. Parce queRest une classe de conteneur pour les ressources, il semble que gradle ne puisse pas lierRlorsqu'il ne peut pas analyser les ressources, les fichiers .xml.
La solution consiste simplement à réparer les fichiers de ressources, à nettoyer le projet et à le reconstruire à nouveau.
Assurez-vous que vous avez AndroidManifest.xml dans le projet.
Il m'est arrivé d'avoir importé un projet qui n'avait pas encore le manifeste afin qu'Android Studio ne le reconnaisse pas comme un projet Android. Ensuite, j'ai tiré le projet dans GIT et il a téléchargé le manifeste, mais ne fonctionne toujours pas. Ensuite, j'ai redémarré Android Studio et il disait quelque chose comme "Framework Android détecté".
Assurez-vous donc que votre projet est configuré en tant que projet Android.
J'ai constaté que dans les grands projets, le R.Java généré automatiquement était supérieur à 2,55 Mo (la limite par défaut définie par Intellij), ce qui entraînait la génération du fichier, mais pas sa résolution. pour le résoudre, il suffit d'augmenter cette limite:
idea.max.intellisense.filesize=3000
(3000 ou toute valeur supérieure à la taille du fichier R)Sous OS X avec Android Studio 0.2.13, j’ai fait "Jump to Declaration" lors de l’import de com. <Projet> .R dans l’une de mes activités. Quand je suis retourné au fichier d'activité, tous les avertissements avaient disparu.
Edit: Vous devez créer la variante de construction actuelle avant que cela fonctionne.
J'ai ajouté des images à des ressources pouvant être dessinées et l'une de mes images s'appelait " super . Jpg", ce qui s'avère être une cause.
Renommer l'image et after qui synchronise le projet avec les fichiers de dégradé corrige l'erreur.
Dans mon cas, le code fonctionnait correctement avant la mise à jour du studio Android. Après la mise à jourRle fichier n'a pas été généré. Je travaillais sur une vue personnalisée et j'avais un attribut
<attr name="showText" format="boolean" />
dans mon déclarer stylable. Ce même attribut a également été utilisé par l'interface utilisateur du système:
<style name="Base.Widget.AppCompat.CompoundButton.Switch" parent="Android:Widget.CompoundButton">
<item name="track">@drawable/abc_switch_track_mtrl_alpha</item>
<item name="Android:thumb">@drawable/abc_switch_thumb_material</item>
<item name="switchTextAppearance">@style/TextAppearance.AppCompat.Widget.Switch</item>
<item name="Android:background">?attr/selectableItemBackgroundBorderless</item>
<item name="showText">false</item>// this line
</style>
J'ai renommé l'ancien showText en showTextFormat puis gradle sync qui a régénéré le fichier R.Java.
Aucun de ceux-ci n'a fonctionné pour moi sur Ubuntu 12.04. Je devais faire ce qui suit:
Sudo apt-get install lib32stdc++6
Sudo apt-get install lib32z1
Après cela, j’ai suivi un autre conseil dans ce fil de discussion: Build -> Clean Project et tout allait bien.
Dans mon cas: le fichier res/someLayout.xml a une erreur puis je le résous. Ensuite, effacez le projet . L’erreur a disparu.
J'ai eu Android:textAllCaps = "false"
dans le androidmanifest qui créait des ravages pour le R file
. Je l'ai supprimé et tout va bien. Je pense que le target sdk
n'a pas été réglé assez haut.
Je faisais face à ce problème lorsque j'ai importé le fichier google-services.json pour implémenter Analytics. J'ai déjà eu le fichier global_tracker.xml dans le dossier xml. Au cours de la construction, lors de la fusion du contenu du fichier google-services.json, l'erreur s'est produite.
L'erreur est résolue après la suppression du fichier goolgle-services.json
.
Aucune des réponses ci-dessus ne m'a aidé. J'ai finalement réalisé que le problème était que le dossier "build" manquait dans Android Studio. J'ai trouvé un certain nombre de lignes dans le fichier de projets "iml" à l'exclusion de "build/*". Après avoir supprimé ceux-ci, le fichier de construction est apparu et les erreurs ont disparu.
Dans une activité Instant App d'une fonctionnalité autre que la base, vous pouvez appeler R.id.fromFeatureOne
et R.is.fromFeatureTwo
. Ainsi, les éléments provenant de ressources différentes sont référencés comme appartenant à une ressource unique Origine.
Les deux seront surlignés comme acceptables et vous pourrez même passer à la source. Mais la construction entraînera une erreur: "ne peut pas trouver le symbole R.id", ce qui est assez délicat pour trouver la raison, car rien n'est en surbrillance.
La solution consiste à appeler com.example.feature.one.R.is.fromFeatureOne
et com.example.feature.two.R.is.fromFeatureTwo
.
Également publié un bogue sur Google: https://issuetracker.google.com/u/0/issues/77537714
Apparemment, dans mon cas, le problème a été résolu en ajoutant un "*" à la fin
import Android.R.*;
J'ai suivi tout ce qui précède et cela n'a pas fonctionné. Dans mon cas, j'ai dû configurer le JDK lorsque toutes les fonctions Java étaient affichées en rouge pour la prévisualisation Android-L ...
Sur Mac:
Puis tout est revenu à la normale pour moi.
j'ai fait make project
et cela fonctionne mais avant cela, essayez de vérifier le nom du paquet dans votre manifeste, reconstruisez et nettoyez votre projet. si le problème n'est pas résolu, alors faites votre projet
Encore une chose à essayer ...
J'avais déjà essayé beaucoup d'autres suggestions ici, comme
mais aucun d'entre eux n'a fonctionné.
Enfin, j'ai simplement supprimé manuellement le dossier de construction complet (après la sauvegarde de mon projet), puis j'ai redémarré Android Studio. Après cela, j'ai effectué une modification mineure (ajouté et supprimé un espace) dans le fichier build.gradle de mon application, puis j'ai cliqué sur Sync. (J'aurais probablement pu simplement utiliser Outils> Android> Synchroniser le projet avec Gradle Files dans le menu.) Après cela, cela a fonctionné. Quelque chose avait été corrompu dans le dossier de compilation et corrigé par une nouvelle construction.
Je ne sais pas si quelqu'un lira aussi loin dans la liste des solutions, mais j'ajouterai quand même cette réponse.
Aucune des réponses ci-dessus n'a résolu mon problème. J'ai donc ajouté ma solution au cas où quelqu'un rencontrerait un problème similaire. Dans mes dépendances build.gradle j'avais,
compile 'com.Android.support:appcompat-v7:22+'
et ma version compilesdk était compileSdkVersion 21
, donc le studio Android n’était pas heureux. J'ai simplement mis à jour ma version compilesdkversion à 23 et synchronisé.
J'ai également mis à jour la dépendance en tant que
compile 'com.Android.support:appcompat-v7:23.1.1'
correspondre à ma bibliothèque de support dans Outils -> Android -> Gestionnaire de SDK -> onglet Outils du SDK -> Bibliothèque de support Android -> version . Maintenant tout va bien. Bonne codage :)
Construire -> nettoyer le projet ou reconstruire le projet Ou Fichier -> Invalider caches/redémarrer ... -> Invalider et redémarrer
Note: Cela ne vous aidera que si votre projet est très volumineux
TL; DR - Le fichier R généré dépassait 2,56 Mo et Android Studio ne l’indexait pas, vous pouvez suivre la solution à cet égard ici:
A été confronté à un problème similaire. Mais aucune des réponses ici ne semblait faire l'affaire.
Le fichier R dépassait 2,56 Mo. À l'ouverture du fichier R généré, un message m'informant que "les informations sur le code pourraient ne pas être disponibles"
Changer le réglage par défaut dans idea.properties pour autoriser un fichier plus volumineux a tout de suite été décisif.
Toutes mes excuses pour le formatage, sur mobile.
Dans mon cas, l'importation du nom de domaine de l'application suivi de ".R" a résolu le problème. Exemple:
import com.example.myapp.R;
Ceci est dû à la suppression récente de xmlsIn Android Studio Nettoyez votre projet de ces xml en choisissant: Build -> clean project
J'ai également eu ce problème et je l'ai résolu de cette façon .. Tout d'abord, allez dans Gradle et cliquez sur nettoyer . Deuxièmement, cliquez sur Construire.
Assurez-vous de ne pas nettoyer depuis le studio Android
J'avais mes fichiers XML dans un dossier LAYOUT au lieu du dossier MENU.
C'était à la suite du passage à Android Studio d'Eclipse.
La solution pour moi était simple: déplacez mes fichiers XML dans le dossier MENU et recompilez.
Dans le nouveau studio Android 2.2. Si votre TargetSDK = <15, vous pourriez également rencontrer ce problème. Changez cela dans gradle.build puis suivez les étapes décrites dans les réponses précédentes. Synchronisez les fichiers de dégradés et reconstruisez-les. Vous pouvez également invalider les caches et redémarrer le studio, ce qui est parfois utile.
Dans mon cas, je devais corriger certaines erreurs dans mes fichiers XML de mise en page. Aucune icône n'indiquait que les fichiers contenaient des erreurs. Cependant, lorsque je clique dessus, je remarque quelques lignes rouges. Après réparation, R
a été trouvé.
Si vous avez une erreur sur le fichier .xml, peu importe ce que vous faites, vous ne pouvez pas résoudre ce problème. Je suggérerais que
D'abord, vérifiez votre fichier XML pour rechercher toute erreur et
Une seconde recherche du journal des événements indiquant quel studio Android a détecté l'erreur et vous indiquera le fichier et l'emplacement de l'erreur.
C'est comme ça que j'ai résolu mon problème de R
J'ai eu le même problème actuellement. Le problème était que dans mon projet j'avais plus de modules. Par exemple. app
module et library
module. Bien que la classe et la ressource R.string
soient toutes deux issues du module app
, j'avais en quelque sorte import com.package.library.R
. D'une manière ou d'une autre, Android Studio n'a pas reconnu cela comme une erreur et Gradle/Sync a construit mon projet sans problèmes. Mais lorsque j'ai essayé d'exécuter les tests unitaires, la construction de Gradle a échoué avec l'erreur décrite.
package com.package.app
import com.package.library.R;
//...
class SomeClass {
//...
public void someMethod() {
Toast.make(context, R.string.message, TOAST_LONG).show();
}
}
Lorsque la ressource R.string.messsage
est réellement dans mon module com.packagename.app
et non pas le module com.packagename.library
. Supprimer le import ...
a résolu mon problème.
Essayez de vous assurer que le nom complet du paquet est sur la première ligne. Supposons que vous avez un fichier nommé LoginActivity.Java et le package appelé com.nomdomaine.project.
La première ligne de LoginActivity.Java devrait être
package com.domainname.project;
C'est l'équivalent de spécifier "namespace" dans dot.net. Assurez-vous également que le package correspond au package dans lequel se trouve votre fichier * .Java.
J'ai eu cette erreur après la mise à jour du plugin Gradle de la version 1.3.1
vers
classpath group: 'com.Android.tools.build', name: 'gradle', version: '2.2.1'
Cela m'a obligé à changer toutes les références comme
import [applicationId].R;
à
import [package].R;
Et dans mon projet de bibliothèque, appcontext.getPackageName();
a cessé de fonctionner correctement. Je l'ai utilisé pour obtenir les ressources d'application correctes via réflexion, mais après la mise à niveau du plugin Gradle, il a commencé à renvoyer l'application IDI spécifique à la saveur, au lieu du paquet ... vous pouvez en savoir plus sur ceci ici .
Ce problème est dû à la dénomination des fichiers dans le dossier "res" ou "drawable". Vous ne pouvez utiliser aucune lettre majuscule pour nommer un fichier de ressources. Alors, vérifiez s’il existe un tel fichier et renommez-le avec des lettres minuscules.
Et vous pouvez également essayer ceci: Allez à: Fichier > Invalider le cache/redémarrer
Ces options ont fonctionné pour moi.
Vous pouvez delete
l'un de vos layout files
(peu importe lequel), après cela, vous devez utiliser build project
. Le projet se construira et vous devrez ensuite retourner votre fichier de mise en page en CTRL + Z. Dans mon cas, si j’essayais de construire mon projet avant de supprimer layout file
, cela ne m’a pas aidé. Mais cette voie est ok.
Pour corriger l'erreur "Impossible de résoudre le symbole r" . Essayez ces solutions.
Construire -> Nettoyer le projet.
Construire -> Construire le projet.
par exemple. : "classpath" com.Android.tools.build:gradle:X.X.X '".
J'espère que ces solutions peuvent vous aider.
Merci d'avoir lu.
Vous devez juste vérifier votre fichier XML. S'il y a une erreur alors vous ne pouvez pas résoudre cette erreur . Juste résoudre l'erreur dans le xml puis essayez.
OR
Nettoyez votre projet depuis la construction -> Nettoyez
Première solution
Rebuild your gradle or invalidate/restart your system.
Deuxième solution
delete .gradle and .idea folder from your Android project. So you can solve "R" problem
et aussi supprimer l'erreur redline se produisent sans aucune raison que vous obtenez.
Je vois que ce problème peut causer beaucoup de choses. Dans mon cas, j’avais de la textView dans l’un des fichiers activités * .xml. Je mets le texte dans l'éditeur (pour le changer plus tard via le code) de cette façon: "NAME: <here will be name>"
. Apparemment, "<" et ">" les caractères ont cassé l'importation de R dans mon projet de chaque endroit. Je l'ai changé et ça a commencé à marcher. J'ai juste oublié que je ne peux pas utiliser ces caractères dans les fichiers * .xml, car ils construisent sa structure. Cela vaut la peine d'avoir cela à l'esprit.
Après je fais "Build-> clean project" et "Sync project with gradle". Les deux ne sont pas résolus. Je construis la version de Gradle à partir de la version 3.3.0 => 3.2.1 (revenez en tant qu’état d’initialisation du projet) et cela résout mon problème.
Rien ne fonctionnait pour moi, alors je dois mettre à jour mon studio Android pour le faire fonctionner. Après la mise à jour de la dernière version du studio Android, le problème est résolu.
Je travaille sur un projet multi-module
. Et cela m'est arrivé lorsque j'ai déplacé tout le code de l'interface utilisateur vers un nouveau module.
Voici comment je résous le problème: .__ Je découvre que lorsque je crée le nouveau ui module
, dans le /res/values
, il crée un nouveau strings.xml
sans rien d’utile. Je supprime ce fichier strings.xml
, rebuild
le projet et cela fonctionne.
Dans mon cas, j’essayais de clean
et rebuild
du projet. Le problème n'a pas été résolu car il existait une erreur dans le fichier de présentation. Pour recréer, j'ai ajouté une faute de frappe sur un attribut dans l'espace-noms de l'application.
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:Android="http://schemas.Android.com/apk/res/Android" xmlns:app="http://schemas.Android.com/apk/res-auto">
<item
Android:id="@+id/add_user"
Android:icon="@Android:drawable/ic_menu_add"
Android:title="Add User"
app:showAsActioin="always"
/>
</menu>
Android Studio n'inspectait pas les attributs de l'espace de noms app
. Il semble que le fichier ne comporte aucune erreur. Maintenant, lors de la construction du projet, il est écrit Cannot resolve symbol 'R'
. Les erreurs sont affichées dans le journal de construction.
La correction de la typo corrige le problème, consultez la section Regarder sur les problèmes Android du journal de génération.
Pour moi, il est important de dire qu'Android Studio au début donnera des ennuis pour apprendre, mais comme ici, la solution Clean Project peut résoudre ce problème, vérifiez toujours le nom indiqué et n'essayez pas de jouer avec la logique, j'aime le logiciel mais parfois, j'essaie de penser si la voie est bonne ou non, j'aime aussi Linux mais pour moi, Android Studio doit réécrire tous les logiciels, peut-être que cela ne se produira pas. De toute façon bonne chance!!!!
Dans la version du projet (i.e) build.gradle, il suffit de mettre à jour le fichier com.Android.tools.build:gradle en tant que
dépendances {
classpath 'com.Android.tools.build:gradle:3.2.1'
}
Regardez la console Gradle. Dans mon cas, j'avais inclus une ressource avec la mauvaise extension de fichier.
AAPT: libpng error: Not a PNG file
:app:mergeDebugResources FAILED
FAILURE: Build failed with an exception.
Après avoir renommé le fichier et Sync Project with Gradle Files
, tout allait bien.
J'avais le même problème: Android Studio 3.2 Le projet se compile et fonctionne correctement, mais je reçois un message d'erreur "Impossible de résoudre le symbole" R "
Est-ce que pas aide:
Aide:
non plus
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 à 3.3
la plupart du temps, ce problème est causé par les fichiers XML. Jetez un coup d'œil aux fichiers XML, recherchez les erreurs éventuelles.
Je pense avoir la solution ultime. J'ai fait une recherche et découvert qu'Android Studio détestait les "espaces blancs" dans les chemins ou les répertoires d'installation. Il n'accepte pas de SDK, placé dans un répertoire contenant un espace blanc. Par exemple
C:\Program Files (x86)\Android\sdk
Ce répertoire n'est pas valide car il contient un espace blanc. Ici , j'ai déjà répondu à une question selon laquelle un gars était incapable de changer son chemin JDK dans Android Studio, car il y avait un espace dans son répertoire SDK. C'est bizarre, mais il semble qu'Android Studio déteste les répertoires contenant des espaces. Donc la solution est -
Installez Android Studio ainsi que le SDK Android dans un répertoire ou un chemin où aucun espace n’est vide.
Par exemple, installer Android Studio dans
C:\AndroidStudio\
Et installez Android SDK dans
C:\Sdk\
Ces deux répertoires sont valables car il n'y a pas d'espace blanc. Chaque chemin qui ne contient pas d'espaces blancs est valide. Il résout également d'autres problèmes tels que «Échec de la résolution: junit: junit: 4.12» ou «Échec du projet de synchronisation avec Gradle», etc.
// un problème de synchronisation incomplète
// donc suivez simplement les étapes et il fera votre travail à coup sûr
Click on Build->Clean Project and that will perform a gradle clean
J'ai eu le problème R non résolu à cause du même fichier image.png à deux endroits. Un dans res> anim et le même fichier dans res> drawable-hdpi. Cela a amené R à devenir non résolu. J'ai créé le problème en créant une image d'écran de démarrage et en la déplaçant à plusieurs reprises directement du répertoire graphique de Moray vers le projet Android. Je dois l'avoir déposé dans le dossier res> anim par accident. J'ai résolu le problème en supprimant le fichier d'image en double du dossier res> anim et le studio Android s'est corrigé.
Cela peut simplement provoquer la définition d’un espace de nom d’application dans votre fichier xml. C’était une ligne totalement inoffensive qui n’a sélectionné qu’un symbole (sur un grand nombre) pour qu’elle ne soit pas résolue. Le simple fait de supprimer la ligne entière, grisée dans l'image ci-dessous, a permis à mon code de faire référence à un symbole non résolu. Même quand j'ai ajouté la ligne, il a été décidé de construire sans problème. Allez comprendre.
Dans mon cas, la raison était que certaines images du dossier res avec le nom contenaient une lettre majuscule.
il suffit de le renommer avec une petite lettre et de le reconstruire
C'est simple "projet de synchronisation avec Gradle"
J'ai eu le même problème. J'ai essayé la plupart de ce que d'autres ont mentionné ci-dessus, à savoir Gradle Sync, Valider le cache et redémarrer, nettoyer et reconstruire le projet ... redémarrer le studio Android et avait toujours le même problème ...
La question pour moi ici, et je suppose que d'autres peuvent avoir le même problème. J'avais de l'espace sur le nom du fichier de mise en page que je venais de créer ... Au lieu de exemple_fichier.xml mine était fichier _exemple.xml ** (notez l'espace entre le fichier et _) ** lorsque vous essayez Pour trouver la référence à ce fichier de mise en page, vous rencontrerez une erreur.
Je vous suggère de regarder le fichier de mise en page le plus récent que vous venez de créer, de refactoriser légèrement le nom, puis de changer votre R.layout en nouveau fichier dans votre activité/fragment -> Ensuite, nettoyer .. reconstruire le projet, le projet se compilera sans erreur. Au moins dans mon cas, c'était la solution à mon problème.
Je suis confronté à une erreur 'Unable to resolve symbol R
' Le R apparaît dans le fichier Java en rouge. Je l'ai résolu.
Tenez compte des fonctionnalités IDE suivantes:
build.gradle
de l'application ou dans all les fichiers de ressources du répertoire /res
; où quelques erreurs courantes se produisent lorsque les valeurs d'attribut sont laissées sans références lors de l'utilisation de: Cannot resolve symbol 'R'
De cette manière, la boîte de dialogue d'alerte IDE apparaît pour effectuer l'importation de la classe R.
GL