web-dev-qa-db-fra.com

IDE "Ne peut pas résoudre @ style/Theme.Appcompat" lors de l'utilisation du thème de prise en charge de la compatibilité v7

Ce n'est pas vraiment un gros problème, car mon projet est toujours construit et fonctionne correctement (avec gradle), mais je ne parviens pas à faire reconnaître à Android Studio le thème de compatibilité des applications publié dans le SDK de l'API 18 (pour permettre le support des barres d'actions pour Android 2.1 et ci-dessus).

Le chargement des bibliothèques de support a réussi, car la complétion de code est possible pour les classes ActionBar dans les fichiers Java. Le problème est que le studio Android affiche des erreurs de texte en rouge pour les assignations à Theme.AppCompat.Light dans le fichier AndroidManifest.xml.

Existe-t-il un moyen d'activer la complétion de code pour les ressources de thème déclarées dans le manifeste à partir de bibliothèques externes dans Android Studio?

Mise à jour Voici mon bloc <activity> de mon AndroidManifest:

<activity
    Android:name="com.example.activities.MainActivity"
    Android:label="@string/app_name"
    Android:screenOrientation="portrait"
    Android:theme="@style/Theme.AppCompat.Light" >

J'ai également essayé de définir le thème dans le bloc d'application:

<application
    Android:allowBackup="true"
    Android:icon="@drawable/main_final_ic"
    Android:label="@string/app_name"
    Android:logo="@drawable/main_final_enzo"
    Android:theme="@style/Theme.AppCompat.Light" >

Encore une fois, ces deux fonctionnent et compilent bien, mais apparaissent en rouge avec des erreurs dans mon IDE. Je viens également de confirmer que les mêmes problèmes se produisent lors de l'exécution de mon projet dans Eclipse.

41
John Leehey
4
Yuichi Araki

J'ai eu le même problème. On dirait que le fichier jar V7 est bien compilé, mais il manque probablement la ressource xml nécessaire. Vous devez inclure manuellement le 'Theme.xml' fourni avec le paquet V7. Voici ce que j'ai fait pour le réparer.

Regardez sous: Ajout de bibliothèques avec des ressourceshttp://developer.Android.com/tools/support-library/setup.html

Les instructions fournies ici ne sont pas très claires car cela ne vous dit pas d'apporter de ressources. (Peut-être un bogue dans Android Studio?)

Voici ce que j'ai fait:

  1. Mettez à jour votre SDK dans le gestionnaire et assurez-vous d'inclure le «référentiel de support Android» dans les extra
  2. Allez dans le SDK dans l'explorateur de fichiers (Finder sur mac), recherchez le dossier de l'extra (..\sdk\extras\Android\support\v7\appcompat\res\values sous Windows). Quelque part, il y a un "themes.xml" et un "themes_base.xml". Copiez ces deux fichiers.
  3. Dans votre projet, collez les fichiers dans le répertoire 'values'
  4. faire un reconstruit et qui a fait le tour pour moi.
16
kev

J'ai changé de:

classpath 'com.Android.tools.build:gradle:+'

à:

chemin de classe 'com.Android.tools.build:gradle:2.2.3'

et maintenant ça marche!

7
SUXA

La réponse de Filip Cvejic est utile. La version de mon studio Android est 1.3.1, a le même problème. Cela fonctionne après avoir ajouté une ligne "compiler" com.Android.support:appcompat-v7:23.0.0 "" comme suit:

   dependencies {
        compile "com.Android.support:support-v4:23.0.0"
        compile "com.Android.support:support-v13:23.0.0"
        compile "com.Android.support:cardview-v7:23.0.0"
        compile 'com.Android.support:appcompat-v7:23.0.0'
    }
4
XYL

N'ajoutez pas la bibliothèque au chemin de construction Java, ajoutez la bibliothèque (en tant que projet) dans Paramètres> Android> Bibliothèques> Ajouter une bibliothèque.

3
Bram De Backer

Je sais que j'ai répondu tard, mais cette réponse pourrait aider les futurs visiteurs.

  • Passez de Gradle 0.12.+ à 0.12.1 et cela fonctionnera.

    classpath 'com.Android.tools.build:gradle:0.12.1'
    
3
Luis Pena

La correction était simple pour moi sur le studio Android.

Cliquez sur aide ---> Rechercher les mises à jour

Lisez ensuite ce que dit l’invite et décidez si vous voulez une mise à jour Edge ou une mise à jour stable. 

Une fois que le studio Android redémarre, il devrait fonctionner.

Note latérale: Tout était encore souligné en rouge jusqu'à ce que je reconstruise le projet.

3
rocktheartsm4l

Le déclassement de build:gradle version 2.3.3 en 2.2.3 a fonctionné après des heures difficiles!

classpath 'com.Android.tools.build:gradle:2.2.3'

gradle-wrapper.properties:

distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.Zip
2
AskQ

Le problème était que mon projet de bibliothèque appcompat a été situé à un emplacement différent. Lors de l'importation, je dois cocher "Copier le projet dans l'espace de travail", c'est tout!

2

Le problème était que mon projet de bibliothèque appcompact a été situé à un endroit différent. Lors de l'importation, je dois cocher "Copier le projet dans l'espace de travail", c'est tout!

Il suffit d'aller à fichiers, cliquez sur fermer, puis cliquez sur le projet existant et sélectionnez votre projet Android .... problème de thème sera résolu.

1
Shahid Ahmad

Ajouter compile 'com.Android.support:appcompat-v7:21.0.0' aux dépendances dans gradle.build (Module: app) et reconstruire le projet a résolu le problème pour moi dans Android studio 1.0.2.

J'ai également vérifié dans SDK Manager et les bibliothèques de support ont été téléchargées.

1
Filip Cvejic

Un problème commun. Dans mon cas, cela fonctionne:

Dans le projet "Android-support-v7-appcompat":

-Delete “Android-support-v7-appcompat” from Package Explorer.
-Import again and check “Copy into workspace”
-In Properties -> Android -> in Project build target, uncheck Android 2.2 and check Android 4.1.2
-In Java build path, uncheck if you have any .jar library, and uncheck the Dependences

D'autre part, le projet qui utilise “Android-support-v7-appcompat”

in Propiedades -> Android add the library, but uncheck "IsLibrary”.
-In Android -> Project build tarjet check Android 4.0.
-In "Java Build Path" -> Order and Export -> Unchecked the .jar library
-Finally do a “Project -> Clean” both projects 
1
Hernaldo Gonzalez

Ma solution/problème était beaucoup plus simple et différent que la plupart des gens ici.

Mon problème était similaire en ce sens que j'avais une erreur comme celle-ci: 

resource style/ThemeOverlay.AppCompat.Dark (...) not found

La partie étrange était que je pouvais construire en mode débogage, mais pas en mode publication.

Mon manifeste Android ne contenait aucune erreur. Mon problème était que j'avais deux fichiers style.xml dans mon dossier de ressources. 

Solution simple: supprimez l'un des fichiers style.xml ou fusionnez-les et vous devriez être bon. J'avais deux styles presque identiques dans mes deux fichiers .xml. Je pouvais immédiatement construire en mode publication après la suppression de l'un de ces fichiers.

[%] D - Il est temps de tinter les verres et de boire de la bière. :RÉ

0
airvine