J'essaie le nouveau Android Studio. J'ai exporté un projet depuis Eclipse à l'aide de l'option de génération de dégradé. Je l'ai ensuite importé dans Android Studio. Le fichier R.Java sous gen est placé dans un petit cercle rouge et dans mes fichiers sources, j’obtiens "ne peut pas résoudre le symbole R" lorsque j’ai une référence à une ressource, par exemple "R.layout.account_list". etc.
Je n'ai jamais utilisé Intellij auparavant. J'apprécierais toute aide car il n'y a évidemment pas beaucoup de réponses à propos de Android Studio. Merci!
PS: La réponse depuis plus d’un an et les menus ont changé.
Fichier -> invalider les caches
puis
Redémarrer l'application
Aucune des réponses sur le Web à ce jour n'a aidé. Build> Make Project n'a pas fonctionné pour moi. Pour moi, c'était aussi simple que de choisir cette autre option (sur Android Studio 1.3.1):
Build> Make Module 'nom du module'
Dans mon cas, j'avais un fichier d'activité importé d'Eclipse contenant la ligne:
import Android.R;
Ainsi, toutes mes classes R étaient résolues dans le SDK, dès que j'ai commenté cette ligne, tout était compilé correctement dans mon paquet. J'ai seulement remarqué le problème lorsque je déplaçais le projet de mon Mac vers ma machine Windows.
Ce problème a commencé à se produire lorsque j'ai commencé à travailler avec build.gradle pour incorporer les données nécessaires (signatureConfigs) afin de générer un fichier .apk signé. Après ce qui semblait être une construction réussie à partir de la ligne de commande, j'ai découvert que, dans toute classe utilisant R. *, toutes les références à R. * n'étaient pas résolues.
Les réponses ici ne m'ont pas aidé. J'ai décidé de réimporter le projet et le problème a été résolu comme par magie. Fichier/Importer un projet ... et sélectionnez le fichier build.gradle dans le dossier racine de mes applications. J'aimerais savoir pourquoi la réimportation a résolu ce problème :)
Ceci est probablement dû à une génération de ressource ayant échoué
Une fois le problème résolu, un simple Build > Rebuild Project
fera l'affaire
Aller à Fichier -> Paramètres -> Compilateur maintenant vérifier tiliser une construction externe
puis reconstruire le projet
Ce problème m'a souvent frustré, notamment lors de l'intégration d'une bibliothèque de projet dans le cadre d'un autre projet. Dans la plus récente occurrence de ce problème miné, mon projet Android lib utilisait WebView. Il s'avère que Gradle crée le fichier R.class dans un sous-répertoire appelé "web" dont le chemin n’ayant rien à voir avec mon chemin de code source. Lorsque j’ai importé cela, mon problème avait disparu. Qu'ai-je appris? Dans le futur, il suffit de faire une recherche de fichier pour R.class et de noter le chemin où il se trouve. le paquet dans votre code en utilisant ce chemin. C'est vraiment nul que vous deviez le faire manuellement. Gradle devrait importer automatiquement les paquets qu'il génère.
La solution consiste à ouvrir la fenêtre de structure de projet. [par ordre de presse +; sur les mac ox s. Je ne sais pas quel est le raccourci clé pour les autres plates-formes. vous devriez pouvoir le trouver dans le menu "Fichier".] et cliquez sur "Modules" dans la section "Paramètres du projet", votre projet sera alors révélé, puis marquez le R.Java généré comme source.
J'utilise Intellij idea 14.0 CE. Le fichier R.Java généré est situé dans le répertoire construction/généré/source/r/debug/com/exemple/xxx
Vraiment pas facile à trouver pour la première fois.
Vous devriez vérifier tous vos fichiers s'il n'y a pas d'erreurs et reconstruire à nouveau votre projet en:
Ou dans:
Vérifier use external build
et après avoir reconstruit le projet.
Voici ce qui a fonctionné pour moi dans IntelliJ (Not Studio), en plus des réponses présentées ci-dessus:
Vous devez associer une facette Android à un module existant Android. Pour ce faire, sélectionnez le module dans la liste des modules dans "Paramètres du module", puis appuyez sur la touche Cliquez sur le bouton "+" en haut de l'écran et sélectionnez "Android". Voir https://www.jetbrains.com/idea/webhelp/enabling-Android-support.html .
Suivez les cinq étapes ci-dessous:
<uses-permission Android:name="Android.permission.VIBRATE"></uses-permission>
)J'ai eu le même problème mais après toutes les étapes c'est un travail pour moi.
Vérifiez d'abord s'il y a import Android.R; en haut de votre classe, cela se produit lorsque l’importation automatique dans enable dans Android studio.
après ce commentaire, toutes les lignes de votre code utilisant la variable R (vous pouvez commenter toute la classe ou ...), puis exécutez l'application qui régénère la variable R et vous pouvez supprimer le commentaire de votre code.
Mon problème était que j'avais le fichier 'default.jpg' dans un dossier pouvant être dessiné et que, pour une raison quelconque, chaque ressource n'était pas résolue. Correction après la suppression de ce fichier!
Je faisais également face au même problème et j'ai énormément de réponses à propos du stackoverflow. Ensuite, j'ai trouvé une solution qui m'aide à résoudre ce problème.
Vérifiez le nom du package dans le fichier AndroidManifest.xml. J'ai oublié de le changer en copiant un autre projet dans un nouveau projet.
Sur IntelliJ 14
Vérifiez si les sources générées sont exclues. Généralement dans la structure du projet -> [module] -> Chemins -> Sortie du compilateur: "Hériter du chemin de sortie de la compilation"
Concernant ce qui suit, de réponse de Crossle Song
- Presse F4 dans la structure du projet, vérifiez les SDK à gauche
- Cliquez sur Modules ---> onglet Source, vérifiez gen et src en tant que sources
Malgré le message "Nous fournirons une interface utilisateur pour configurer les paramètres du projet plus tard, etc.", cela a fonctionné pour moi.
Je résous ce problème en mettant Java_HOME, CLASSPATH.
Les utilisateurs ignorent parfois Java_HOME et CLASSPATH lors de la définition de Java_path.
Donc, essayez de vérifier la variable d'environnement.
CLASSPATH ->.;
Java_HOME -> C:\Program Files\Java\jdk (version) ou où Java installé
puis vérifiez le fichier XML qui peut avoir une erreur (ne nommez pas des choses bien connues telles que bouton, texte, etc.)
Dans mon cas (Linux, Android Studio 0.8.6) les aides suivantes:
Fichier> Structure du projet> Modules> sélectionnez le module principal> sélectionnez sa facette> Sources générées.
change la valeur de "Répertoire pour les fichiers générés:"
de
MY_PATH/.idea/gen
à
MY_PATH/gen
Sans que ce code soit compilé, apk est construit et exécuté avec succès
mais Android L'éditeur Studio met en évidence mypackage.R. tout ce qui est "impossible à résoudre" dans toutes les classes de sous-packages
Dans mon cas:
Je devais Copier Référence le fichier R; c'est-à-dire un clic droit sur gen/<package>/R et Copier la référence. Puis collez-le sur le R dans votre code là où il ne parvient pas à résoudre.
Cela a résolu le problème pour moi (après avoir essayé tout le reste ici). Je ne sais toujours pas pourquoi cela a fonctionné pour être honnête.
J'ai eu le même problème et je l'ai fait réparer en supprimant une bibliothèque supplémentaire.
Pour faire, essayez cette solution dans Fichier> Structure du projet (sur un Mac, vous pouvez utiliser la commande "Apple;")
Ensuite, sélectionnez l'application sur l'onglet de gauche. Accédez à l'onglet Dépendances et supprimez la bibliothèque supplémentaire.
Aucune de ces réponses ne m'a aidé!
Mon problème n'était pas un problème! Le programme peut compiler complètement et s’exécuter sur le périphérique, mais le IDE) m’a donné une erreur de syntaxe gênante. Il a souligné les lignes de codes contenant "R.".
La façon dont j'ai pu résoudre ce problème:
Je viens d'ajouter ces trois classes dans le dossier "myapp/gen/com.example.app/":
BuildConfig
package com.example.app;
public final class BuildConfig {
public final static boolean DEBUG = true;
}
manifeste
package com.example.app;
public final class Manifest {
}
R
package com.example.app;
public final class R {
}
vérifiez la version des outils de construction dans build.gradle (pour l'application du module). Ensuite, allez sur Android sdk manager pour voir si la version est installée sinon installez-la ou changez la version des outils de génération pour la remplacer par celle installée ci-dessous.
Android {
buildToolsVersion "22.0.1"
..
..
..
}
Avait cette erreur lors de l'importation du projet à partir d'Eclipse. La raison était que certains fichiers XML contenaient des erreurs. Vérifiez TOUS vos fichiers XML pour les erreurs. Y compris androidmanifest.xml et les valeurs, thèmes, styles, dossiers de mise en page, etc. Les avertissements au format xml sont acceptables, mais les erreurs génèrent cette erreur.
Ensuite, faites un projet propre et reconstruisez.
il suffit de nettoyer le projet, puis de synchroniser votre projet avec le fichier Gradle.
J'ai résolu ce problème avec intellij 2016.1 parce que j'avais configuré les sources générées pour aller dans un répertoire qui n'était pas dans le répertoire du projet de base.
Par exemple, dans la facette Android, sous "Sources générées", j'avais:
Directory for generated files: <project dir>/target/intellij-gen
Quand j'ai changé ceci en <project dir>/gen
le problème est parti.
De même quand je l'ai ensuite changé en <project dir>/gen2
le problème a également disparu - mais je devais effectuer un nettoyage en profondeur pour le faire compiler à nouveau en effectuant:
rm -rf ~/.IdeaIC2016.1/system/compile-server/<project>_<hash>
et en supprimant tous les répertoires générés et target
dir.
Pour moi, avec Android Studio 1.5.1, la solution consistait à recréer l’ensemble du projet sous un nom légèrement différent.
Je pense que cela ne traitait pas le nom de l'application "Kommentator_AS", car plusieurs emplacements du paquet s'appelaient à la place "Kommentator".
J'ai eu le même problème. Le nom du package était incorrect dans deux des trois fichiers suivants. J'ai mis à jour manuellement le nom du paquet et tout a recommencé à fonctionner.
gen/com/example/app/BuildConfig.Java
gen/com/example/app/Manifest.Java
gen/com/example/app/R.Java
Je ne suis pas sûr de ce qui les a fait changer car je n'ai jamais modifié ces fichiers auparavant.
Dans mon cas, j'ai constaté que "Android.R.layout.account_list" était référencé à la place de "R.layout.account_list". Supprimez simplement "Android". peut résoudre le problème. J'espère que cela vous aidera, car vous risquez parfois d'ignorer lorsque vous vous concentrez trop.
La solution publiée par https://stackoverflow.com/users/1373278/hoss ci-dessus a fonctionné pour moi. Je le reproduis ici car je ne peux pas encore commenter le post de hoss:
Supprimez import Android.R;
De votre fichier d'activité en question.
Ma configuration:
Android Studio 1.2.2
Projet exporté d'un Mac vers Git (tout fonctionnait bien). J'ai ensuite importé le projet sur un autre Mac à partir de Git. C'est quand il a cessé de résoudre les fichiers de ressources.
J'ai tout essayé sur ce fil:
Rien n’a fonctionné, sauf la suppression de import Android.R;
De mon activité Java.
Pour éviter ce problème à l'avenir, ajoutez le dossier .idea
À votre fichier .gitignore
. Il y a un joli plugin de git pour gitignore dans Android Studio. Installez ce plugin et faites un clic droit dans .idea > Add to .gitignore
Après avoir essayé de nettoyer et de reconstruire sans succès, vérifiez que votre dossier res
ne contient pas de fichiers corrompus.
Dans mon cas, un fichier corrompu .png
A causé tous les problèmes.