web-dev-qa-db-fra.com

Impossible de résoudre le symbole AppCompatActivity - Les bibliothèques de support v7 ne sont pas reconnues?

J'essaie de comprendre pourquoi diable mon studio Android ne reconnaît pas correctement la bibliothèque AppCompat v7. La déclaration d'importation ci-dessous apparaît en gris et indique qu'il n'y a pas de paquet pour support.v7.app. Ci-dessous mon fichier d'activité:

import Android.support.v7.app.AppCompatActivity;


public class XApplicationActivity extends AppCompatActivity

Mon build.grade:

compile "com.Android.support:appcompat-v7:22.0.0"
compile "com.Android.support:support-annotations:$Android_SUPPORT_VERSION"
compile "com.Android.support:support-v4:$Android_SUPPORT_VERSION"

Les paramètres de mon projet:

minSdkVersion = 14
targetSdkVersion = 21
compileSdkVersion = 21
buildToolsVersion = "22.0.1"

Je ne comprends donc pas très bien pourquoi cela me cause toujours des problèmes. Choses que j'ai déjà essayées:

  • Nettoyage/reconstruction du projet
  • Invalidation des caches et redémarrage
  • Vérification un milliard de fois pour m'assurer que la bibliothèque de support est installée (j'ai absolument le dernier référentiel de support et les bibliothèques installés)

Quelqu'un sait-il des solutions? Cela m'a coûté beaucoup de temps et c'est vraiment frustrant.

42
hendersawn

D'accord, j'ai corrigé le problème en le reconstruisant pour la quatrième fois. Assembler en assembleur propre ... Android Studio est une chose étrange

14
hendersawn

Pour moi, Même après la mise à niveau vers appcompat-v7:22.1.0, dans lequel AppCompatActivty est ajouté, Le problème n'était pas résolu pour moi, Android Studio posait le même problème

Impossible de résoudre le symbole 'AppCompatActivity'

Parfois, effacer les caches de studio Android aide.

Dans le studio Android, je viens de vider les caches et de redémarrer avec l'option suivante--

Fichier-> Invalider les caches/redémarrer

85
Nicks

1. Supprimez le dossier .idea
2.Fermer et rouvrir le projet
3.File -> Synchroniser le projet avec les fichiers Gradle

Cela a fonctionné pour moi

28
Muhamed Krasniqi

AppCompatActivity n'a été ajouté que dans la version 22.1.0 de la bibliothèque de support. Avant cela, il s'appelait ActionBarActivity.

Vous devez utiliser la même version pour toutes vos bibliothèques de support. Au moment de la rédaction de cette version, la dernière version est 23.1.1 (vous pouvez trouver la dernière ici https://developer.Android.com/tools/support-library/index.html#revisions ) et la section des dépendances de votre fichier de classement devrait ressembler à ceci.

implementation "com.Android.support:support-v4:23.1.1"
implementation "com.Android.support:appcompat-v7:23.1.1"
implementation "com.Android.support:support-annotations:23.1.1"
19
Richard Strand

Nous n'avons pas besoin de supprimer des fichiers, il suffit d'invalider les caches pour redémarrer la configuration:

 introducir la descripción de la imagen aquí

12
Elenasys

Si vous utilisez Android au lieu d'Android, vous devez changer

import Android.support.v7.app.AppCompatActivity;

à

import androidx.appcompat.app.AppCompatActivity;

et changer

<Android.support.constraint.ConstraintLayout>

à

<androidx.constraintlayout.widget.ConstraintLayout>
7
Mina chen

J'ai changé de "... étend ActionBarActivity" à "... s'étend de AppCompatActivity" et j'ai essayé de nettoyer, de redémarrer, d'invalider les caches/redémarrer et je n'allais pas. Toutes mes versions étaient à jour.

Ce qui a finalement été résolu, c’était de s’assurer que mon importation était correcte:

import Android.support.v7.app.AppCompatActivity;

Pour une raison quelconque, il n'a pas été configuré automatiquement comme d'habitude et j'ai dû l'ajouter manuellement.

J'espère que ça aide quelqu'un!

4
Gravitoid

La solution que j'ai suivie est résumée dans les étapes ci-dessous:

  1. Dans le menu Build, sélectionnez Edit Libraries and Dependancies.

 enter image description here

  1. Assurez-vous d’ajouter le dernier package AppCompat s’il n’a pas été ajouté.

 enter image description here

 enter image description here

  1. Après l'avoir ajouté, nettoyez votre projet et reconstruisez-le.

 enter image description here

4
wbadry

J'ai eu la même erreur exacte avec Au cas où cela aiderait les autres .. documenter ce qui a fonctionné pour moi, utile pour la dernière version (14 janvier 2017). Je ai essayé tous les Invalidate, construire propre, même en supprimant .gradle /, en peaufinant les bibliothèques de support, etc. sur plusieurs réponses de débordement de pile.

J'ai trouvé que la mise à niveau de la version settings.gradle gradle corrigeait (il s'agissait de la version 2.1.3), ce qui semble quelque chose dans la chaîne d'outils Gradle chemin de classe 'com.Android.tools.build:gradle:2.2.3'

3
Pradeep Kumar

La meilleure solution est d'aller dans Fichier> Invalider les caches et redémarrer

Puis dans le menu de dialogue ... Cliquez sur Invalidate Caches & Restart. Attendez une minute ou peu importe le temps qu'il faut pour réinitialiser votre projet, alors vous devriez être bon.

-

Je dois noter que j'ai également rencontré le problème de la référence à un fichier de ressources ou à un fichier "R" qui se trouvait dans une bibliothèque compileOnly que j'avais dans ma classe. (c'est-à-dire bibliothèque compileOnly> res> fichier xml référencé). J'ai arrêté de référencer ce fichier dans mon code Java et cela m'a aidé. Alors soyez fatigué de l'endroit où vous faites référence à des fichiers.

1
airvine

J'ai eu le même problème dans mon projet nouvellement démarré avec un minimum d'api 23, et finalement j'ai ajouté ces lignes de codes dans mon fichier de dépendance de gradle et cela a résolu l'erreur :)

 implementation 'com.Android.support:appcompat-v7:28.0.0'
 implementation 'com.Android.support:customtabs:28.0.0'
 implementation 'com.Android.support:support-vector-drawable:28.0.0'
 implementation 'com.Android.support:support-media-compat:28.0.0'
1
Imran

Supprimez le dossier .idea dans votre projet qui est un dossier caché. Allez à votre projet dans le système et cliquez sur ctrl + H il sera visible puis supprimez-le. Maintenant, redémarrez votre studio Android.Je vais résoudre. Cela fonctionne pour moi. 

0

Fichier-> Invalider les caches/redémarrages fonctionne pour moi.

0
anoja madusanka

Si les solutions données ne fonctionnent pas, créez un nouveau projet avec "KOTLIN" comme langage, même si votre travail est en Java. Remplacez ensuite le dossier "principal" du nouveau projet par le dossier "principal" de l'ancien.

0
Ave Maria

Informations de fond:

Mon IDE

Android Studio 3.1.3
Build #AI-173.4819257, built on June 4, 2018
JRE: 1.8.0_152-release-1024-b02 AMD64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 7 6.1

Première solution: Importez à nouveau le projet sans accepter la mise à niveau du plug-in Android Gradle.

Deuxième solution: Vos fichiers doivent contenir ces fragments.

build.gradle:

buildscript {
  repositories {
    jcenter()
    google()//this is important for gradle 4.1 and above
  }
  dependencies {
    classpath 'com.Android.tools.build:gradle:3.1.3' //this Android plugin for gradle requires gradle version 4.4 and above
  }
}
allprojects {
  //...
  repositories {
    jcenter()
    google()//This was not added by update IDE-wizard-button.
    //I need this when using the latest com.Android.support:appcompat-v7:25.4.0 in app/build.gradle
  }
}

Suivez la recommandation de votre IDE pour mettre à niveau votre version de gradle vers la version 4.4 ou envisagez de l’avoir dans Gradle/wrapper/gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.Zip

Facultatif change buildToolsVersion dans app/build.gradle:

Android {
compileSdkVersion 25
buildToolsVersion '27.0.3'

app/build.gradle: commentez les dépendances et laissez la construction échouer (automatiquement ou le déclencher)

dependencies {
//compile fileTree(dir: 'libs', include: ['*.jar'])
//compile 'com.Android.support:appcompat-v7:25.1.0'
}

app/build.gradle: commentez à nouveau les dépendances. Il a été conseillé de les passer de la compilation à la mise en œuvre, mais pour le moment, ce n'est qu'un problème d'avertissement.

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.Android.support:appcompat-v7:25.1.0'
}

Après la reconstruction du projet, la déclaration d'importation ne doit plus être grisée. essayez d'appeler Ctrl + h sur la classe . Mais pour une raison quelconque, les marqueurs d'erreur sur ces instructions de référencement de classe sont toujours présents . Pour les supprimer, nous devons masquer et restaurer l'arbre du projet. voir ou alternativement fermer et rouvrir le projet.

Enfin c'est ça.

Lectures supplémentaires:

Mise à jour Gradle

Utiliser les nouvelles configurations de dépendance

Si vous préférez un parcours d'images pour ma solution, vous pouvez visiter mon blog

0
catweazle

Si vous avez déjà essayé

  1. Invalidation des caches et redémarrage
  2. Nettoyage/reconstruction du projet
  3. ./gradlew clean assemble
  4. mise en œuvre ajoutée
    "com.Android.support:support-v4:23.1.1"
    "com.Android.support:appcompat-v7:23.1.1"
    "com.Android.support:support-annotations:23.1.1"
  5. Importation corrigée vers Android.support.v7.app.AppCompatActivity;
  6. Correction des importations existantes d'androidx

Toujours face à un problème, veuillez lire ci-dessous

Enfin trouvé la solution

J'ai essayé tout ce qui est mentionné dans toutes les réponses et j'ai échoué.

Allez à gradle.properties rendez ces indicateurs faux

Android.useAndroidX = false

// Convertir automatiquement les bibliothèques tierces pour utiliser AndroidX

Android.enableJetifier = false

Les drapeaux ci-dessus étaient

"vrai, pour moi et donc gradle ne téléchargera pas de composants v7"

0
jkuruvila