web-dev-qa-db-fra.com

Impossible de résoudre le symbole 'AppCompatActivity'

Je viens d'essayer d'utiliser Android Studio. J'ai créé un projet vide et tenté de créer Activity qui étend AppCompatActivity. Unfortunalty Android Studio "dit" qu'il

Impossible de résoudre le symbole 'AppCompatActivity'

J'ai compile "com.Android.support:appcompat-v7:22.0.+" dans la liste des dépendances de mon module "app" et reconstruit le projet plusieurs fois. Cependant, je ne peux utiliser que ActionBarActivity. Qu'est-ce que je fais mal?

188
Lingviston

Un petit ajout aux autres réponses ici, pour tous ceux qui ont la même erreur en utilisant la bonne version de lib et la bonne classe.

Quand je suis passé à

appcompat-v7:22.1.0

Dans lequel ActionBarActivityest obsolète et vide et AppCompatActivtyest la voie à suivre, en raison d'un problème lié à Android Studio, le changement de version n'a pas vraiment eu lieu.

même si Gradle a fonctionné sans erreur, le IDE lui-même continuait à dire Cannot resolve symbol 'AppCompatActivity' (et il n'était pas non plus disponible via la recherche Ctrl+N)

J'ai regardé dans le dossier .idea/libraries et remarqué qu'il n'y avait pas de métafichier approprié pour la nouvelle version de la bibliothèque.

Donc, en utilisant le vieux --- fiable Fichier-> Invalider caches/Redémarrer a fait le tour. Essayez toujours lorsque vous pensez que quelque chose ne va pas avec Android Studio.

324
Ivan Bartsov

Si les méthodes logicielles via gradle fichier/"Invalidate caches" et les autres outils IDE ne fonctionnent pas, utilisez le moyen le plus difficile:

  1. Quitter Android Studio
  2. Naviguez dans votre projet dans le dossier .idea
  3. Il suffit de renommer le dossier libraries
  4. Redémarrez Android Studio. Il devrait maintenant recréer le dossier libraries et fonctionner à nouveau.

Cela a fonctionné pour moi

Android Studio 3.1.2
Build #AI-173.4720617, built on April 13, 2018
JRE: 1.8.0_152-release-1024-b01 AMD64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.13.0-38-generic

Shahbaz ALi confirmé, cela fonctionne aussi sur

Android Studio 3.1.3
Build #AI-173.4819257, built on June 4, 2018
JRE: 1.8.0_152-release-1024-b01 AMD64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.13.0-38-generic

moujib confirmé, cela fonctionne sur Android Studio 3.2.1

156
DBX12

Aujourd'hui (22 avril), vous pouvez utiliser le nouveau AppCompatActivitypublié avec les bibliothèques de support v 22.1.0.

Changez juste votre dépendance:

compile "com.Android.support:appcompat-v7:22.1.0"

Ici vous pouvez trouver plus d’informations sur cette nouvelle classe.

70
Gabriele Mariotti

Je l'ai fait réparer en allant dans le fichier build.gradle et dans les dépendances, le appcompat, quelque chose comme compiler 'com.Android.support:appcompat-v7:XX.X.X'

Changé pour compiler 'com.Android.support:appcompat-v7:XX.X.+'

Puis cliquez sur Sync. Toutes les lignes ondulées rouges devraient aller si tout le reste de votre code est correct.

C'est trop simple. Voici les étapes à suivre

1-Exit studio Android.

2-Allez dans le répertoire de votre projet.

3-Quelque chose comme ça dans mon cas (F> Android-> VotreNomProjet ->. Idée).

4) le dossier de bibliothèques -delete présent dans le dossier .idea.

5) - redémarrez votre studio Android. et votre problème est résolu.

25
Abdul Mateen

Vérifiez aussi les fautes de frappe, j'ai passé toute ma journée à chercher des solutions alors que j'avais tapé AppCompactActivity au lieu de AppCompatActivity

13
Victor Michael

J'ai obtenu l'erreur Cannot resolve symbol pour AppCompatActivity et de nombreuses autres classes et méthodes après la mise à jour d'Android Studio 2.2.3 à 2.3, la mise à jour du plugin Android Gradle vers la version 2.3.0 et la mise à jour de Gradle vers la version 3.3.

File -> Invalidate Caches / Restart n'a pas résolu le problème.

Preferences -> Build, Execution, Deployment -> Gradle a montré Use local gradle distribution sélectionné avec Gradle home:/Applications/Android Studio.app/Contents/gradle/gradle-2.14.1 et n avertissement indiquant que l'emplacement de gradle était incorrect.

Problème résolu en sélectionnant Use default gradle wrapper (recommended).
Il serait probablement utile de simplement indiquer le nouvel emplacement de la distribution locale.

12
jk7

Impossible de résoudre le problème de symbole AppCompatActivity.

Effectuez l'étape simple pour résoudre le problème.

i) Quittez le studio Android.

ii) Accédez au répertoire de votre projet.

iii) Recherchez le dossier . idea dans le répertoire de votre projet.

iv) Supprimer le dossier . idée.

v) Redémarrez votre studio Android.

vi) Le problème sera résolu.

10
Sathish kumar T.M

Essaye ça. Dans Android Studio, après avoir placé la dépendance dans build.gradle. Allez à Construire -> Nettoyer le projet.

Cela a fonctionné pour moi.

8
MobileAppDeveloper

C'est vraiment fou, j'ai tout essayé, synchronisé avec les fichiers Gradle, invalidé et redémarré Android Studio. Le problème persistait toujours. Le dernier recours était la suppression du dossier . Idea/libraries et cela fonctionnait comme un charme.

7
Raghav Sharma

Vous pouvez utiliser la nouvelle application AppCompatActivity appcompat-v7: 22.1. + Ajoutez simplement ceci à votre titre:

compiler 'com.Android.support:appcompat-v7:22.1.1'

6
Sergey Zabelnikov

Pour moi, le problème a été résolu lorsque j'ai mis à jour l'appcompact v7 au plus tard.

compiler 'com.Android.support:appcompat-v7:25.3.0'

J'espère que ça aide...:)

6
Nihas Nizar

J'avais le même problème avec Android SDK 23, alors que je développais sur une machine Mac OS X Yosemite. Il s’est avéré que je n’avais pas Java SDK 7.

Une fois que j'ai installé Java SDK 7 et que j'ai pointé le SDK d'Android Studio vers le nouveau SDK, tout a fonctionné pour moi.

Voici les étapes que j'ai suivies:

1) Fermer SDK Android

2) Installez le SDK Java pour Mac OS X à partir de http://www.Oracle.com/technetwork/Java/javase/downloads/index.html

3) Démarrez le SDK Android et pointez le SDK de ce projet sur le nouveau SDK Java 1.7 en accédant à Fichier -> Structure du projet -> Emplacement du JDK.

4) Redémarrez Android Studio

J'espère que cette aide

5
AsgharHussain

Alors mon collègue a poussé leur local.properties qui a tout cassé. J'ai copié mon chemin sdk depuis une autre application et j'ai:

File -> Sync Project with Gradle Files
5
Seabass77

aucun des problèmes ci-dessous n'a résolu mon problème

  • Redémarrer Android
  • Fichier >> Synchroniser le projet avec des fichiers Gradle
  • Construire >> Projet propre
  • Construire >> Reconstruire le projet
  • Fichier >> Invalider les caches/redémarrer

Au lieu de cela, je l'ai résolu en mettant à jour la version des dépendances appcompat & design avec la version récente. Pour ce faire: allez à build.grade (Module: app) >> section dépendances puis tapez ALT + ENTRÉE sur les deux dépendances appcompat & design, puis sélectionnez la version affichée dans mon cas, elle est 24.2.1, comme indiqué dans le image enter image description here

3
Zain

J'ai mis à jour mon Gradle 2.3.3 à 4.4 et j'ai eu une erreur sur AppCompatActivity et également Cardview. J'ai essayé avec le projet propre et le projet de reconstruction. Cela ne fonctionnera pas, alors je vais à Dossier du projet -> . Idée -> créer une sauvegarde du dossier bibliothèques et le supprimer -> puis projet de reconstruction qui a résolu mon problème.

3
manojm

N'oubliez pas d'appuyer sur Alt+Enter ou ajoutez l'importation.

import Android.support.v7.app.AppCompatActivity; 
3
Suragch

Après la mise à niveau vers la dernière bibliothèque de support, je devais effectuer la mise à niveau vers la dernière version du studio Android (version bêta) et la version d'évaluation avant que IDE ne reconnaisse pas AppCompatActivity (l'invalidation des caches et le redémarrage ne faisaient pas l'affaire).

2
Ciske Boekelo

Ajoutez cette dépendance dans la construction du projet .gradle.

Suivez l'exemple ci-dessous.

dependencies {

    compile 'com.Android.support:appcompat-v7:22.1.0'
}
2
user2306383

Permet d’aller pas à pas: premier projet propre en utilisant

Construire-> Nettoyer

si cela ne vous aide pas, utilisez votre deuxième étape

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

Mais le vrai problème commence lorsque toutes les options ci-dessus ne fonctionnent pas, utilisez donc votre solution ultime: fermer le projet, aller au répertoire de localisation du projet et supprimer

.idée

Vous pouvez ouvrir votre projet maintenant à nouveau.

2
shashank chandak

Vous devez simplement faire quelques changements dans votre fichier Gradle App en ajoutant des dépendances

compiler "com.Android.support:appcompat-v7:XX:YY:ZZ"

alors que XX: YY: ZZ est le code de version que vous utilisez dans votre fichier Gradle, sinon, si vous définissez cette version plus basse ou plus élevée que celle que vous utilisez, votre application rencontrera des problèmes, comme parfois elle plantera.

1
Nadeem Bhat

je viens de mettre à jour mon studio Android de la version 2.3.2 à la version 3.1.2. et cette erreur se produit.

je nettoie le projet, reconstruis le projet, invalide le cache/redémarre mais rien ne fonctionne.

je résous cette erreur en mettant à jour la bibliothèque appcompat à partir de

compiler 'com.Android.support:appcompat-v7:23.4.0'

à

compiler 'com.Android.support:appcompat-v7:25.1.1'

dans le fichier build.gradle de l'application.

1
mehmoodnisar125

Si Invalider les caches ne vous aide pas, fermez simplement le projet puis rouvrez-le. Pas:

  • Fichier> Fermer le projet
  • Supprimer le projet de la liste de projets de départ
  • Fermer Android Studio
  • Ouvrir Android Studio
  • Open existait Projet avec ce projet
1
Nguyen Minh Hien

Cela se produit pour l'une des raisons suivantes:

  1. Vous n'avez pas l'API SDK installée (c'était mon problème)
  2. Votre projet/Android Studio ne sait pas où sont les fichiers nécessaires
  3. Votre projet fait référence à une version de compilation obsolète qui ne prend pas en charge AppCompatActivity.
  4. Il y a une faute de frappe

Solutions possibles:

  1. Vérifiez votre fichier .gradle pour vous assurer que vous ne faites pas référence à une version obsolète. AppCompatActivity a été ajouté à la version 25.1.0 et appartient à l'artefact Maven com.Android.support:appcompat-v7:28.0.0-alpha1, n'utilisez donc pas de version antérieure. Dans votre fichier build.gradle (Module: app), la dépendance doit être listée:

    dépendances {compile 'com.Android.support:appcompat-v7:25.1.0'}

    Vous utilisez peut-être une version différente, mais assurez-vous simplement que vous avez répertorié la dépendance.

  2. Ouvrez le gestionnaire de SDK et téléchargez chaque API 7 ou plus récente. Si vous manquiez l’API nécessaire, cela résoudra le problème et le téléchargement de toutes les API les plus récentes peut également vous éviter quelques tracas.

  3. Vérifiez les fautes de frappe dans votre déclaration d'importation. Assurez-vous qu’il ne dit pas "AppCompactActivity" au lieu de "AppCompatActivity".
  4. Resynchronisez votre projet (Fichier> Synchroniser le projet avec les fichiers Gradle).
  5. Reconstruisez votre projet (Construire> Reconstruire)
  6. Nettoyez votre projet (Build> clean project)
  7. Fermer et redémarrer Android Studio
  8. Mettre à jour Android Studio
  9. Régénérez votre dossier de bibliothèques - Dans Android Studio, affichez vos fichiers en mode projet. Recherchez le dossier YourProjectName> .idea> libraries. Renommez le dossier en "libraries_delete_me". Fermez et rouvrez Android Studio. Ouvrez à nouveau votre projet et le dossier libraries devrait être régénéré avec tous les fichiers. vous pouvez maintenant supprimer le dossier "libraries_delete_me".
0
technoman23

C'est le code de bouée de sauvetage que j'ai trouvé quelque part (désolé, je ne me souviens pas de l'origine). Ajoutez-le à build.gradle (module: app). Vous pouvez remplacer la version par la pertinente.

configurations.all {

    resolutionStrategy.eachDependency { DependencyResolveDetails details -
        def requested = details.requested

 if (requested.group == 'com.Android.support') {

            if (!requested.name.startsWith("multidex")) {
                details.useVersion '27.1.1'
            }
        } else if (requested.group == "com.google.Android.gms") {
            details.useVersion '15.0.0'
        } else if (requested.group == "com.google.firebase") {
            details.useVersion '15.0.0'
        }
    }
}
0
Victoria Klimova

Pour moi, le problème était résolu lorsque j'ai mis à jour la version de compilation de Gradle. Je ne sais pas pourquoi

0
Srikar Reddy

Cela peut être dû à la différence de version dans le niveau d'application, vérifiez-le une fois, puis reconstruisez-le.

0
Kamal

Pour moi, aucune des solutions ne fonctionnait. Mais j'ai découvert que toutes les bibliothèques des bibliothèques de support étaient absentes de mes bibliothèques externes. Et dans d'autres projets, AppCompatActivity a été résolu sans problèmes.

Pour moi, cela a fonctionné pour créer un nouveau projet et copier tout le contenu de l'ancien dossier src dans le nouveau projet.

Je ne sais pas exactement pourquoi, mais si rien ne fonctionne, cela pourrait être la dernière possibilité. Juste si quelqu'un a le même problème que moi.

0
user7174483

Si tout le reste a échoué, assurez-vous d'avoir ajouté la déclaration d'importation. Je l'avais retiré car il affichait une erreur et j'avais oublié de le rajouter et essayais tout le reste pour le réparer:

importer Android.support.v7.app.AppCompatActivity;

0
Srihari Karanth

Après avoir essayé littéralement toutes les solutions, je me suis rendu compte que le projet sur lequel je travaillais utilisait auparavant le dernier Android Studio, qui était de 3,2 à l'époque, et le PC que j'utilisais actuellement fonctionnait sous la version 2.2 après mise à jour du studio Android cela semblait résoudre le problème complètement pour moi.

Solution: Android Studio -> Rechercher les mises à jour, puis installer la dernière version

0
Louis Ferraiolo

En utilisant différentes méthodes, cela ne fonctionnera pas, utilisez la méthode la plus simple: quittez l’écran Android Studio actuel et accédez au dossier .idea. Renommez le dossier libraries-> lib_pre.

Redémarrez Android Studio.Il va maintenant recréer le dossier des bibliothèques et fonctionner à nouveau de manière fluide. Android Studio 3.1.3

0
Nadeem Bhat

L'erreur est survenue lorsque j'ai ajouté Firebase au projet avec toutes les dépendances mises à jour vers la dernière version de l'API 28, bien que mes services Google utilisaient la version 4.1.0.

J'ai supprimé l'erreur lorsque je l'ai mise à jour à la version 4.2.0.

0
Lovish-Pandey

Je vais vous dire comment j'ai résolu ce problème dans Eclipse. Téléchargez le fichier Zip à partir de ce lien . https://github.com/dandar3/Android-support-v7-appcompat puis extrayez ce fichier, ouvrez le projet. Dans le dossier lib, vous verrez un fichier jar nommé " Android-support-v7-appcompat ", ajoutez ce fichier jar à votre projet. C'est tout. enter image description here

0
Däñish Shärmà