Impossible de résoudre le symbole «AppCompatActivity»

212

Je viens d'essayer d'utiliser Android Studio. J'ai créé un projet vierge et j'ai essayé de créer Activityce qui s'étend AppCompatActivity. Malheureusement, 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 que l'utiliser ActionBarActivity. Qu'est-ce que je fais mal?

Lingviston
la source
utilisez-vous la bonne version de construction? votre SDK est-il à jour?
Ghost Talker
5
@Lingviston, vous n'utilisez pas la bonne version. Vous devez utilisercom.android.support:appcompat-v7:22.1.0
damson
2
Eh bien, il n'y avait pas une telle version à l'époque.
Lingviston
Mais maintenant il y en a et ça résout le problème :)
JY2k

Réponses:

350

Un petit ajout aux autres réponses ici, pour toute personne ayant la même erreur lors de l'utilisation de la bonne version de lib et de 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 dans Android Studio, il n'a pas tout à fait repris le changement de version.

c'est-à-dire que même si Gradle a fonctionné sans erreurs, l'IDE lui-même ne cessait de le dire Cannot resolve symbol 'AppCompatActivity'(et il n'était pas non plus disponible via la Ctrl+Nrecherche)

J'ai regardé dans le .idea/librariesdossier et j'ai remarqué qu'il n'y avait pas de métafichier approprié pour la nouvelle version de la lib.

Ainsi, l'utilisation de l'ancien fichier fiable - > Caches / redémarrage invalides a fait l'affaire. Essayez toujours ceci lorsque vous sentez que quelque chose ne va pas comme par magie avec Android Studio. Et puis désactivez le mode hors ligne et la synchronisation.

Ivan Bartsov
la source
2
Cela ne fonctionne pas non plus pour moi, chaque fois que je mets à niveau l'application compatible, je rencontre de nombreux problèmes.
3c71
Pour moi, cette erreur est apparue lors de la mise à jour vers Android Studio 2.0 - Vider le cache et redémarrer comme indiqué ci-dessus a parfaitement fonctionné!
ColossalChris
J'ai compile 'com.android.support:appcompat-v7:23.3.0'déjà dans mon build.gradle ... mais
j'obtiens
3
Si cela n'a pas fonctionné, essayez celui-ci, a fonctionné pour moi: stackoverflow.com/a/36641765/3758439
George
idem dans IntelliJ IDE.
A-Sharabiani
163

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

  1. Quittez Android Studio
  2. Accédez dans votre projet au .ideadossier
  3. Renommez simplement le librariesdossier
  4. Redémarrez Android Studio. Il devrait maintenant recréer le librariesdossier 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 a 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 a confirmé, cela fonctionne sur Android Studio 3.2.1

DBX12
la source
Ty pour la solution! De plus, je voudrais savoir si tous les utilisateurs ici utilisaient la version PC ou la version iOS d'Android Studio. J'ai des amis développeurs qui n'ont jamais eu aucun de ces problèmes sur iOS. J'ai eu des tonnes de problèmes sur PC. Je ne sais pas combien de fois j'ai essayé de nettoyer / reconstruire / invalider le cache ...
Shahbaz Ali et moi avons utilisé la version Linux, moujib a seulement commenté que cette solution fonctionnait en 3.2.1
DBX12
70

Aujourd'hui (22 avril), vous pouvez utiliser la nouvelle AppCompatActivityversion avec les bibliothèques de support v 22.1.0.

Modifiez simplement votre dépendance:

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

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

Gabriele Mariotti
la source
7
hmm j'utilise une version plus élevée mais je rencontre toujours le problèmecompile 'com.android.support:appcompat-v7:23.1.1'
behelit
31

C'est trop simple, voici les étapes à suivre

1-Quittez le studio Android.

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

3-Quelque chose comme ça dans mon cas (F> Android-> YourProjectName ->. Idea).

4) -supprimer le dossier des bibliothèques présent dans le dossier .idea.

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

Abdul Mateen
la source
Je ne supprimerais jamais le dossier au cas où quelque chose tournerait mal. Il suffit de le renommer. Dans le pire des cas, si le dossier des bibliothèques n'est pas régénéré, vous pouvez revenir en arrière et restaurer le nom d'origine du dossier "bibliothèques". Une fois que tout fonctionne, vous pouvez revenir en arrière et supprimer le dossier que vous avez renommé. Si votre studio est corrompu, il ne pourra pas régénérer les dossiers - soyez toujours prudent lorsque vous supprimez des fichiers.
28

Je l'ai corrigé en allant dans un build.gradlefichier et dans les dépendances celui- appcompatlà, quelque chose comme compiler'com.android.support:appcompat-v7:XX.X.X'

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

Cliquez ensuite sur Sync. Toutes les lignes rouges ondulées devraient disparaître si tout le reste de votre code est correct.

Siddhartha Chikatamalla
la source
7
+1, OMG, cela a fonctionné pour moi. :) BTW le +signe est pour Hey Gradle si une nouvelle version de la même version est disponible, l'utilisation est pour vous :). J'utilisais com.android.support:appcompat-v7:25.3.1maintenant cela a fait une astuce: bien com.android.support:appcompat-v7:25.3.+que AS me donne un avertissement: évitez d'utiliser + dans les numéros de version; peut conduire à des versions imprévisibles et non
reproductibles
13

Vérifiez également les fautes de frappe, j'ai perdu toute ma journée à chercher des solutions alors que j'avais réellement tapé AppCompactActivity au lieu d'AppCompatActivity

Victor Michael
la source
13

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

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

Preferences -> Build, Execution, Deployment -> Gradlea montré Use local gradle distributionsélectionné avec la maison Gradle: / Applications / Android Studio.app/Contents/gradle/gradle-2.14.1 et un avertissement apparaît indiquant l'emplacement gradle était incorrect .

Problème résolu en sélectionnant Use default gradle wrapper (recommended).
Le simple fait de pointer vers le nouvel emplacement de distribution local fonctionnerait également.

jk7
la source
11

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

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

i) Quittez le studio Android.

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

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

iv) Supprimer le dossier .idea .

v) Redémarrez votre studio Android.

vi) Le problème sera résolu.

Sathish kumar TM
la source
Si vous allez dans le dossier .idea et renommez le dossier "bibliothèques" en quelque chose de différent, l'astuce fonctionne également. Si quelque chose se passe vraiment mal, il vous suffit de revenir en arrière et de renommer le dossier des bibliothèques en son nom d'origine et d'essayer autre chose, plutôt que d'essayer de restaurer l'intégralité du dossier .idea.
8

Essaye ça. Dans Android Studio, après avoir mis la dépendance dans build.gradle. Allez dans Build -> Clean Project.

Ça a marché pour moi.

MobileAppDeveloper
la source
7

C'est vraiment fou, j'ai tout essayé, synchronisé avec les fichiers Gradle, invalidé et redémarré le studio Android. Le problème persistait toujours. Le dernier recours supprimait le dossier .idea / bibliothèques et cela fonctionnait comme un charme.

Raghav Sharma
la source
6

Vous pouvez utiliser le nouvel appCompatActivity appcompat-v7: 22.1. + Ajoutez simplement ceci à votre gradle:

compilez 'com.android.support:appcompat-v7:22.1.1'

Sergey Zabelnikov
la source
6

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

compilez 'com.android.support:appcompat-v7:25.3.0'

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

Nihas Nizar
la source
6

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

File -> Sync Project with Gradle Files
Seabass77
la source
5

J'obtenais ce même problème avec Android SDK 23, lors du développement 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 dirigé le SDK avec Android Studio vers le nouveau SDK, tout a fonctionné pour moi.

Voici les étapes que j'ai suivies:

1) Arrêtez le SDK Android

2) Installez Java SDK 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 vers le nouveau SDK Java 1.7 en allant dans Fichier -> Structure du projet -> Emplacement JDK

4) Redémarrez Android Studio

J'espère que cette aide

AsgharHussain
la source
3

N'oubliez pas d'appuyer sur Alt+ Enterou d'ajouter l'importation.

import android.support.v7.app.AppCompatActivity; 
Suragch
la source
3

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

  • Redémarrez Android
  • Fichier >> Projet de synchronisation avec des fichiers Gradle
  • Build >> Clean Project
  • Construire >> Projet de reconstruction
  • Fichier >> Invalider les caches / redémarrer

Au lieu de cela, je l'ai résolu en mettant à jour la version des dépendances de compatibilité et de conception avec la version récente Pour ce faire: accédez à build.grade (Module: app) >> section des dépendances, puis appuyez sur ALT + ENTRÉE sur les deux dépendances de compatibilité et de conception, puis sélectionnez la version montrée dans mon cas c'est 24.2.1 comme montré dans l'image entrez la description de l'image ici

Zain
la source
3

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

manojm
la source
3

Commençons 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 pour fermer le projet et aller dans le répertoire d'emplacement du projet et supprimer

.idée

Vous pouvez à nouveau ouvrir votre projet.

shashank chandak
la source
2

Après la mise à niveau vers la dernière bibliothèque de support, j'ai dû passer à la dernière version d'Android Studio (beta) et à la version Gradle avant que l'EDI ne reconnaisse à nouveau AppCompatActivity (invalider les caches et redémarrer n'a pas fait l'affaire)

Ciske Boekelo
la source
2

Ajoutez cette dépendance dans le build de projet .gradle.

Suivez l'exemple ci-dessous.

dependencies {

    compile 'com.android.support:appcompat-v7:22.1.0'
}
Serrement
la source
J'utilise :22.0.0et ne trouve pas de AppCompatActivityclasse. Je dois au moins le régler 22.1.0. Merci.
haxpor
2

Easist Way

  • Ouvrez le niveau de l'application build.gradleet supprimez la dépendance et la synchronisation de appcompact-v7 .
  • Ajoutez à nouveau la dépendance et la synchronisation.

Erreur disparue!

Avant

avant

Après

après

Khemraj
la source
2

Lorsque vous ajoutez la prise en charge AndroidX dans le fichier Gradle.properties, par exemple

android.useAndroidX=true
android.enableJetifier=true

Si vous utilisez une version Gradle supérieure à 3.2, la dépendance Appcompat conventionnelle, par exemple

implementation 'com.android.support:appcompat-v7:27.1.1

ne fonctionnera pas. Remplacez cette dépendance par:

implementation 'androidx.appcompat:appcompat:1.1.0'

De plus, changez l'importation AppCompatActivity dans votre fichier de classe à partir de ceci:

import android.support.v7.app.AppCompatActivity;

pour ça:

import androidx.appcompat.app.AppCompatActivity;

Terminé

Muhammad Etisam
la source
1

Vous devez juste faire quelques changements dans votre fichier d'application Gradle en ajoutant une certaine dépendance

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 bas ou plus haut que celui que vous utilisez, votre application rencontrera des problèmes comme elle plantera parfois

Nadeem Bhat
la source
1

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 de

compilez 'com.android.support:appcompat-v7:23.4.0'

à

compilez 'com.android.support:appcompat-v7:25.1.1'

dans le fichier app build.gradle.

mehmoodnisar125
la source
1

Si l'invalidation des caches n'aide pas, fermez simplement le projet, puis rouvrez-le. Pas:

  • Fichier> Fermer le projet
  • Supprimer le projet de la liste des projets de départ
  • Fermer Android Studio
  • Ouvrez Android Studio
  • Projet ouvert existait avec ce projet
Nguyen Minh Hien
la source
0

Pour moi, le problème a été résolu lorsque j'ai mis à jour la version de génération de Gradle. Je ne sais pas pourquoi?

Srikar Reddy
la source
0

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 dans votre projet. C'est tout.entrez la description de l'image ici

Däñish Shärmà
la source
0

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

Kamal
la source
0

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

Pour moi, cela a fonctionné de créer un nouveau projet et de copier tous les éléments de l'ancien dossier src dans le nouveau projet.

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

user7174483
la source
0

En essayant des méthodes douces, cela ne fonctionnera pas, utilisez la méthode dure: Quittez l'écran actuel d'Android Studio et accédez à votre projet dans le dossier .idea Renommez le dossier bibliothèques-> lib_pre.

Redémarrez Android Studio. Il va maintenant recréer le dossier des bibliothèques et fonctionner à nouveau en douceur. Android Studio 3.1.3

Nadeem Bhat
la source