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:
Quelqu'un sait-il des solutions? Cela m'a coûté beaucoup de temps et c'est vraiment frustrant.
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
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
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
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"
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>
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!
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'
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.
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'
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.
Fichier-> Invalider les caches/redémarrages fonctionne pour moi.
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.
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:
Utiliser les nouvelles configurations de dépendance
Si vous préférez un parcours d'images pour ma solution, vous pouvez visiter mon blog
Si vous avez déjà essayé
Toujours face à un problème, veuillez lire ci-dessous
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"