Dans chaque projet que j'ai essayé de créer dans Android Studio, toutes les utilisations de R sont marquées en rouge avec le message d'erreur "Impossible de résoudre le symbole R", mais la compilation réussit et l'application s'exécute. C'est vraiment ennuyeux, car cela bloque l'auto-complétion et montre d'énormes lignes ondulées rouges partout dans mon code.
J'utilise Android Studio 1.7.0 et je crée le projet avec les paramètres par défaut. Une capture d'écran est jointe:
C'est mon build.gradle
:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android'
dependencies {
compile files('libs/android-support-v4.jar')
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 7
targetSdkVersion 16
}
}
Voici à quoi ressemble la structure du projet:
Une idée de comment résoudre ce problème?
android
gradle
android-studio
Ilya Kogan
la source
la source
Réponses:
Cliquez simplement sur l' option Construire -> Rebuild Project dans votre Android Studio.
la source
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">
Vérifiez ces lignes dans les fichiers xml et corrigez-les.J'ai constaté que ce problème était dû à des erreurs dans mes fichiers XML. Une fois que vous avez corrigé les erreurs XML, effectuez un nettoyage / compilation, cela a résolu le problème.
la source
Cliquez sur
Build -> Rebuild Project
puis surTools -> Android -> Sync Project with Gradle Files
.la source
clean
faitsR
devenaient des erreurs, tousbuild
les corrigeaient, mais bien sûr «souillaient» le projet. Après avoir suivi cette réponse, j'ai pu enfin nettoyer le projet sans avoir d'erreurs.Assurez-vous que
AndroidManifest.xml
le nom du package est correct. Cela a résolu le problème pour moi lorsque monR.whatever
était marqué en rouge!Je recommanderais également de vérifier tous vos
gradle
fichiers pour vous assurer que ces noms de packages sont corrects. Cela ne devrait pas tout rendre rouge, mais cela empêchera vosgradle
fichiers de se synchroniser correctement.la source
NE RIEN FAIRE . Mettez simplement à jour Android Studio. Résolvez mon problème! Fonctionne parfaitement.
la source
J'ai eu un problème similaire avec 'com.android.tools.build:gradle:3.3.1', j'ai essayé toutes les solutions ci-dessus, rien n'a fonctionné. C'était en fait un problème de build: gradle 3.3.1. Je l'ai changé en 3.2.1 puis cela a fonctionné.
Cela peut donc être un problème avec la version build: gradle.
la source
Vous devriez maintenant voir le dossier «MyAppProject / MyApp / build / source». Celui-ci doit contenir le dossier «r» (où le fichier R.java est généré). Ici, vous devriez voir "debug", "release" en bleu (si vous avez un projectFlavour dans votre build.gradle, ceux-ci seront dans le dossier ""). Dans ce dossier de débogage / version doit se trouver le nom du package de votre application, puis un fichier R.java contenant tous vos identifiants de ressources.
la source
Si ni l'un ni l'autre ne fonctionne, vérifiez tous vos fichiers xml. Cette erreur se produit lorsque votre fichier xml est incorrect.
la source
Pour certaines raisons, le studio Android utilise des configurations différentes pour l'éditeur et pour le compilateur. Si cela fonctionne pour le compilateur, c'est bien. Si cela ne fonctionne pas pour l'éditeur. (il voit les fichiers non résolus).
Vous devez ajouter des répertoires à la source de votre projet. Par exemple, toutes les ressources doivent être marquées comme «source».
Fichier-> Structure du projet
Sélectionnez "Modules", puis votre projet. Et sélectionnez l'
sources
onglet. Sur la droite, trouvez votre répertoire de ressources et cliquez sur le bouton bleu "source". Fermez tout et cela devrait fonctionner.Vous devrez également vous assurer que
build/source/r/debug
est également une source. En j'ai tout monbuild/source/*/debug
marqué comme source.module principal .iml
projet iml
Magie noire
Je ne suis pas sûr de celui-ci, mais je l'ai entendu fonctionner alors que je suis sûr que cela ne devrait rien changer. Essayez de compiler et d'enregistrer le projet après avoir commenté toutes les lignes qui nécessitent
R
. Puis quand tout n'est pas rouge. Essayez de les rajouter. Ce qui est étrange, c'est que votre build / source n'est pas généré.Cette question suggère également de vérifier "le compilateur utilise une version externe"
Android Studio ne génère pas de R.java pour mon projet d'importation
Note d'accompagnement
Assurez-vous également que dans votre code java, il n'y a pas de fichier.
import android.r;
d'après ce que vous avez montré, tout semble bien. Juste étrange que la construction / source ne soit pas créée. Par exemple, je n'ai pas de build / apk. Peut-être que vous êtes en mode version et qu'il ne crée pas ces répertoires.la source
res
dossier entier est marqué comme "source", et je n'ai pas debuild/source
répertoire. Dois-je le faire créer? Si c'est le cas, comment?build/rebuil project
. Si vous pouvez exécuter gradle à partir de la ligne de commande, cela peut générer des erreurs qui ne sont pas affichées dans l'éditeur.Voici ma solution temporaire jusqu'à ce que j'en trouve une meilleure:
En utilisant Everything, trouvez où R.java est créé. Dans mon cas, c'était
C:\Program Files (x86)\Android\android-studio\system\compiler\<project-name>.cb969c52\.generated\aapt\<module-name>.6badd9a4\production\com\<project-name>\<module-name>
Dans la vue Projet, cliquez sur le module et appuyez sur F4. Ignorez l'avertissement.
Cliquez sur "+ Ajouter une racine de contenu" et sélectionnez le dossier susmentionné. Assurez-vous qu'il est marqué en bleu (comme source).
Après avoir fait cela, tous les avertissements ont soudainement disparu. Le problème est que si vous collaborez avec d'autres personnes, le nom du dossier est différent sur chaque machine, soyez donc prudent lors de la synchronisation.
la source
Cela a fonctionné pour moi:
Fermer et rouvrir le projet
Appuyez sur "Synchroniser le projet avec le fichier Gradle" (est à côté de l'icône du gestionnaire AVD dans le menu supérieur) répétez 1-2 si Gradle n'a pas pu synchroniser pour la première fois. (le mien a fonctionné dans la deuxième fois).
A travaillé avec Android Studio 1.2.2
la source
Je l'ai résolu par:
la source
Allez simplement dans la liste du menu principal d'Android. Cliquez sur le menu Build , sous Build cliquez sur Rebuild Project .
la source
Parfois, ces erreurs de construction continueront de nulle part. Si cela vous arrive, essayez ceci:
Vérifiez à nouveau la validité du XML dans vos fichiers de ressources: Si votre fichier R.java n'a pas été généré pour la dernière version, vous verrez des erreurs dans votre projet partout où vous référencez une ressource. Cela peut être dû à une faute de frappe dans l'un de vos fichiers XML. Le format XML n'est pas toujours validé, de sorte que les fautes de frappe dans ces fichiers peuvent ne pas être signalées à votre attention. Trouver la faute de frappe et enregistrer le fichier devrait entraîner la régénération de R.java.
Nettoyez votre projet!
Select Build → Clean Project
Cela reconstruira le projet à partir de zéro, ce qui peut entraîner une génération sans erreur.Synchronisez votre projet avec Gradle!
Select Tools → Android → Sync Project with Gradle Files
Android Studio reconstruira le projet à partir de zéro avec les paramètres de projet corrects, ce qui peut vous aider à résoudre les problèmes après avoir modifié votre configuration Gradle.Exécutez Android Lint! Les peluches peuvent vous donner de bonnes informations concernant un problème. Si ce qui précède ne fonctionne pas, c'est là que vous trouverez probablement votre problème. Pour exécuter Lint,
select Analyze → Inspect Code → select Whole project → OK
analysez soigneusement les suggestions de Lint; commencez par des erreurs puis des avertissements.Bonne chance.
la source
Cette erreur m'arrive car il y a une entrée non valide dans mon fichier activity_main.xml.
Lorsque vous essayez de créer ou de nettoyer votre projet , des messages d'erreur s'affichent .
J'ai résolu le mien en lisant ces messages d'erreur , corrigez ce qui ne va pas dans mon fichier xml. puis reconstruisez le projet .
la source
J'ai eu ce bug il y a quelques jours, j'ai essayé de regarder autour de moi jusqu'à ce que je décide de réinstaller Android Studio. Cela a fonctionné pour moi.
la source
Lors de la création d'un projet à partir d'un échantillon, sans importer le projet existant, c'est bien (évite les conflits avec gradle, .idea, .iml, build, jars et apks, c'est-à-dire tous les fichiers générés par build inutiles), après avoir créé un nouveau projet, en copiant et en collant toutes les ressources pertinentes, je recommanderais:
vérification des packages et des importations à partir de packages dans le projet {déclaration AndroidManifest et toutes les importations dans les classes java}, toutes les ressources (dessinable, mip-map, mises en page et menus et votre build.gradle (un exemple de build.gradle à utiliser avec le dernier sdk peuvent être fournis sur demande)) pour voir s'ils sont là et si les chaînes et les identifiants déclarés existent réellement et ont été utilisés, après quoi votre seule erreur devrait être la question posée:
Bulid-> Projet propre
Outils-> Android-> Synchroniser le projet avec les fichiers Gradle
Fichier-> Invalider les caches et redémarrer
Dans le pire des cas, le redémarrage de votre machine aide.
Ce qui précède devrait fonctionner. N'hésitez pas à poser des questions si nécessaire, c'est à dire poster des commentaires.
la source
cela provoque principalement des erreurs dans le fichier xml, vérifiez vos dernières modifications xml et reconstruisez-le, même problème avec moi.
la source
J'ai eu une erreur de réutilisation copier / coller dans la déclaration du package pour le manifeste
le nom de l'activité principale avait le chemin correct, donc le manifeste ne contenait aucune erreur vérifiée.
Une fois ce problème résolu, le fichier source affichait toujours des erreurs bien que la construction ait réussi. Je viens de lancer l'application, puis les indicateurs d'erreur source se sont éclaircis.
la source
Cela a également fonctionné pour moi en nettoyant manuellement le dossier .idea / bibliothèques et en cliquant ensuite sur "Sync Project with Gradle Files" résout le problème. Apparemment, cette synchronisation ne supprime pas les éléments, mais conserve les anciens et ajoute les éléments actuels. Probablement un bug à signaler :)
la source
J'ai eu le même problème avec Android Studio, j'ai découvert que build / generated / source / r ne contenait que le dossier de version et non le débogage. Donc, pour une raison quelconque, la compilation de débogage n'a pas généré de classe R utilisable.
Je l'ai résolu en ouvrant le fichier iml du projet et j'ai corrigé cette ligne
à
resynchronisé avec gradle, commenté les lignes en utilisant R, exécutez le débogage pour générer le R, les lignes non commentées en utilisant R et relancez le débogage, corrigé.
la source
La solution est simple:
Accédez à
File > Project Structure > app
et choisissez l'Flavours
onglet, sélectionnezAPI 21: Android 5.0 (Lollipop)
dans la liste déroulante pourMin Sdk Version
.la source
Dans mon cas, j'ai suivi toutes les réponses que j'ai pu trouver sur Stackoverflow et aucune d'elles ne semblait résoudre ce problème. Toutes les réponses indiqueraient une possible corruption de fichier XML ou un conflit avec les noms Gradle. Certaines réponses ont affirmé qu'il serait nécessaire de nettoyer le projet ou de synchroniser le projet avec les fichiers Gradle. aucune de ces solutions ne résoudrait le problème. De plus, une fois que j'ai suivi un tutoriel sur la création d'une application Hello World et que je viens de suivre les fenêtres de l'assistant Android Studio sans aucun codage, cela n'aurait aucun sens de soupçonner qu'il s'agissait d'une faute de frappe ou quelque chose comme ça.
TLDR
Le problème s'est avéré être la version des outils de construction. Mon était réglé sur 23.0.0 rc1 , donc je l'ai changé en 22.0.1 . Je suppose que c'est parce que j'utilise la dernière version disponible d'Android Available.
Pour modifier cette valeur, vous pouvez ouvrir votre navigateur de projet dans la fenêtre de gauche> cliquez avec le bouton droit de la souris sur "application> Ouvrir les paramètres du module" et recherchez-le dans "l'onglet Propriétés"
la source
vous devez IMPORTER votre fichier projet R
la source
Le nettoyage du projet a aidé dans mon cas
Aller à
la source
Si vous obtenez cette erreur, nettoyez votre projet.
La raison en est que le nettoyage de votre
.apk
fichier précédent présent dans le dossier de projet de votre studio Android sur votre système est supprimé.la source
Récemment j'importe mon projet dans le studio Android, une partie de R est marquée en rouge avec l'erreur meesage "impossible de résoudre le symbole R", mais la compilation réussit et l'application s'exécute.
Développer l'évidence:
Solution:
étape 1:
Trouvez le fichier de configuration pour Android studio
Mon chemin:
étape 2:
Changement 2500:
à 5000 ou plus:
la source
Vous devez changer le chemin:
par exemple
import it.example.project.myproject.R;
changer
import it.example.project.R;
la source
J'ai rencontré la même erreur, il s'avère que le fichier manifeste contenait des erreurs. Après l'avoir réparé, cliquez à nouveau sur Créer un projet, cela a bien fonctionné. Le studio Android ne donne parfois pas de messages d'erreur très utiles.
la source
Je suis mordu par cela de temps en temps et il y a une autre chose à essayer: faire correspondre vos versions compileSdk et buildSdk aux dernières versions disponibles.
J'avais changé mon compileSdkVersion de 21 à 19 parce que le débogueur Android Studio (canal canari 1.1) ne traçait pas correctement dans les bibliothèques prédéfinies. J'ai trouvé qu'il semblait être un traçage basé sur la buildToolsVersion (19.1.0), que j'ai vérifiée en cliquant sur une erreur dans la trace de la pile (puis en choisissant 19 au lieu de 21). Bien que je l'ai changé directement dans le fichier build.gradle, une procédure graphique est ici: https://www.blogger.com/comment.g?blogID=4722727826918942842&postID=3875998513888772255 et je vais résumer:
Confirmez et le projet devrait automatiquement se synchroniser correctement.
La leçon que j'en tire est qu'ils devraient tous les deux être identiques.
la source