J'essaie d'implémenter la nouvelle bibliothèque de support ActionBar qui a été publiée par Google il y a quelques jours. Dans le passé, j'ai implémenté avec succès ActionBarSherlock sans aucun problème en utilisant la même méthode que celle répertoriée sur la page Support Library Setup de Google Developer - en utilisant le guide sur la manière d'inclure les ressources (ce qui est similaire à la façon dont ActionBarSherlock l'a fait.) ). Le projet de bibliothèque est également chargé dans mon propre projet.
Je peux dire que la bibliothèque se charge bien. Lorsque, au lieu d'étendre Activity sur mon MainActivity.Java, je l'ai modifié pour étendre ActionBarActivity (selon les instructions de Google), aucune erreur ne se produit - et l'importation est correcte.
J'ai même essayé de contourner le fichier style.xml et d'ajouter @style/Theme.AppCompat.Light
directement dans le fichier AndroidManifest.xml pour <application>
et <activity>
avec Android:theme="@style/ThemeAppCompat.Light"
, toutes les tentatives entraînant la même erreur. .
Maintenant, le problème est que je ne peux pas le faire changer de thème, et encore moins de construire sans générer d’erreur. Vous trouverez ci-dessous le message d'erreur que je reçois, suivi du fichier style.xml que j'ai modifié pour utiliser le nouveau thème.
Je possède une expérience modérée du travail avec les applications Android et exécute Eclipse avec la dernière version des bibliothèques de support et du SDK compilées avec l'API 18 (Android 4.3).
Erreur reçue pendant la construction
error: Erreur lors de l'extraction du parent pour l'élément: aucune ressource trouvée ne correspond au nom donné '@ style/Theme.AppCompat.Light'. styles.xml/ActBarTest/res/values line 3 Android AAPT Problème
style.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.ProsoftStudio.ACTest" parent="@style/Theme.AppCompat.Light">
</style>
</resources>
Aucune suggestion? Cela n'a jamais été un problème avec ActionBarSherlock. Je souhaite utiliser cette nouvelle bibliothèque de support. On dirait presque que le fichier .jar se charge, mais pas les ressources.
Vous devez faire ensuite:
File->Import (Android-sdk\extras\Android\support\v7)
. Choisissez "AppCompat"Project-> properties->Android.
Dans la bibliothèque de sections "Ajouter" et choisissez "AppCompat"Remarque: si vous utilisez "Android: showAsAction" dans l'élément de menu, vous devez modifier le préfixe Android comme dans l'exemple http://developer.Android.com/guide/topics/ui /actionbar.html
Si, comme moi, vous suivez le tutoriel Android sur http://developer.Android.com/training/basics/actionbar/setting-up.html et continuez à l'obtenir Erreur, essayez de changer le style AppBaseTheme
dans tous les fichiers styles.xml
. En détail:
Dans le fichier res/values/styles.xml
changez la ligne:
<style name="AppBaseTheme" parent="Android:Theme.Light">
à:
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
Dans le fichier res/values-v11/styles.xml
changez la ligne:
<style name="AppBaseTheme" parent="Android:Theme.Holo.Light">
à:
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
Dans le fichier res/values-v14/styles.xml
changez la ligne:
<style name="AppBaseTheme" parent="Android:Theme.Holo.Light.DarkActionBar">
à:
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
Maintenant, l'application devrait fonctionner correctement.
Je vais partager mon expérience avec ce problème. Je devenais fou à cause de cela, mais j’ai découvert que le problème était un bogue avec Eclipse lui-même, plutôt que mon code: Dans Eclipse, impossible de faire référence à un projet de bibliothèque Android dans un autre Android projet
Ainsi, si vous avez la bibliothèque de support Android dans votre lecteur C: et votre projet dans le lecteur D: de votre ordinateur, Eclipse ne fonctionnera pas correctement et ne saura pas où se trouve la bibliothèque de support Android. est (coche verte se transforme en croix rouge). Pour résoudre ce problème, vous devez déplacer les deux projets sur le même disque dur.
Ce problème peut survenir dans Android Studio si vous modifiez des modules de structure de projet. Dans ce cas, vous devrez peut-être ajouter les dépendances à nouveau. Dans un éditeur de texte, éditez le fichier 'build.gradle' pour inclure les dépendances requises:
dependencies {
compile 'com.Android.support:appcompat-v7:+'
compile fileTree(dir: 'libs', include: ['*.jar'])
}
Ceci devrait mettre à jour votre fichier '{votre_nom_projet} .iml' avec les composants lib:
<orderEntry type="library" exported="" name="appcompat-v7-19.0.1" level="project" />
J'ai effectué les opérations suivantes dans Eclipse avec le projet Android Support Library (APL) et le projet principal (MP):
Assuré les deux APL et MP avaient le même minSdkVersion
et targetSdkVersion
.
Ajout de APL en tant que dépendance de construction pour MP:
Aller dans "Propriétés> Java Chemin de construction" de MP, puis
Sélectionner l'onglet "Projets" et ajouter APL.
Dans les propriétés de MP, sous "Android", une référence à APL a été ajoutée sous bibliothèque.
1 et 2 ont obtenu les références aux classes Java qui fonctionnaient bien ... Cependant, je voyais toujours l'erreur dans le manifest.xml
pour MP lorsque je tentais de référencer @style/Theme.AppCompat.Light
de APL. Ce n'est parti quand j'ai effectué l'étape 3.
C'est un peu tard, mais voici comment je le fais dans AndroidStudio!
Cliquez avec le bouton droit sur l'application pour accéder aux propriétés.
Allez à Dépendances et cliquez sur le signe '+' et choisissez la dépendance de la bibliothèque Choisissez appcompat-v7
1. Exécutez le gestionnaire de SDK Android et installez le dernier SDK et Bibliothèque de support Android . La version de SDK et de Android Support Libarary doivent être identiques ! 23 dans mon cas. Une autre variante vous donnera les erreurs.
2. Remplacez la version SDK de votre projet IDEA par la dernière que vous avez installée à l'étape précédente. (ps. vous ne pouvez pas utiliser Maven).
3. Ajoutez un nouveau module de source existante à votre projet IDEA.
4. Ajouter un projet AppCompat. !!! Devrait aussi être sous le dernier SDK! (ps. Dites "Oui" n'importe où dans le processus de cette étape)
5. Ouvrez les paramètres de votre module de projet principal et ajoutez-y les 3 prochaines dépendances:
5.1. Dépendance du module. Choisissez Android-support-v7-appcompat
5.2. 2 pc. Dépendances de la bibliothèque. Ajouter Android-sdk\extras\Android\support\v7\appcompat\libs\Android-support-v4.jar et Android-support-v4\Android-support-v7-appcompat.jar
6. Très important !!!
Ajoutez un thème avec le préfixe @style (pas un autre!) .
1. Exécutez le gestionnaire de SDK Android et installez le dernier SDK et Bibliothèque de support Android . La version de SDK et de Android Support Libarary doivent être identiques ! 23 dans mon cas. Une autre variante vous donnera les erreurs.
2. Ajouter en regard de build.gradle
dependencies {
compile 'com.Android.support:appcompat-v7:23.0.1'
}
P.S. Si vous êtes nouveau dans Android en développement, je vous recommande fortement de passer à Android Studio & Studio en ce moment. Vous obtiendrez le moyen le plus simple de gérer votre application Android. .
Pour Android Studio 1.2.2
Supprimez "Android" de la valeur de l'attribut parent
:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"></style>
vous avez besoin de la référence $ Android_SDK/suppléments/Android/support/v7/appcompat
Pour IntelliJ IDEA ou Android Studio:
Ajouter ceci au fichier de construction app.gradle
dependencies {
compile "com.Android.support:appcompat-v7:21.0.+"
}
Remplacez -v:xx.0+
, par votre cible de construction, si vous avez 19 plates-formes, cela doit ressembler à:
dependencies {
compile "com.Android.support:appcompat-v7:19.0.+"
}
Mon problème est résolu via les étapes suivantes
ajoute le fichier suivant au répertoire libs du projet <SDK-PATH>\extras\Android\support\v13Android-support-v13.jar
Redémarrez Eclipse si nécessaire. C'est ça. Votre problème devrait être disparu.
J'ai eu le même problème et perdre mes 4-5 heures pour la solution. Mon problème résolu avec;
J'espère que vous trouverez votre solution.
Suivez les étapes de @rcdmk. Supprimez le Android support v4.jar dans VOTRE projet. Il entre en conflit avec la nouvelle version mise à jour trouvée dans appcompat.
travaux:
<style name="MyApp" parent="Theme.AppCompat.Light">
</style>
<style name="MyApp" parent="@style/Theme.AppCompat.Light">
</style>
<style name="Theme.AppCompat.Light.MyApp">
</style>
Étant donné que le dialogue d'importation est différent dans Android Studio 1.0.1, je ne parviens pas à faire fonctionner la version de Svyatoslav Lobachs.
Au lieu de cela, j'ai téléchargé "Android Support Repository" dans le SDK Manager. Puis ajouté
dependencies {
...
compile "com.Android.support:appcompat-v7:18.0.+"
}
à build.gradle
. Travaillé pour moi.
La solution la plus rapide:
faites un clic droit sur le projet -> Android outils -> Ajouter une bibliothèque de support ..
J'ai rencontré le même problème que l'OP après avoir cliqué avec le bouton droit de la souris sur mon projet et sélectionné Fermer les projets non liés.
Dans mon cas, j'ai résolu le problème en rouvrant le projet appcompat_v7 et en nettoyant/reconstruisant les deux projets.
http://developer.Android.com/tools/support-library/setup.html a un bogue. Dans Property-> Java build path -> 'Project' et 'Order and Export', il ne devrait pas y avoir de jar. En les supprimant et en cochant "Bibliothèques privées Android" et "Dépendances Android", mon problème a été résolu.
Cela m'est arrivé quand Eclipse (Luna)/AndroidSDK (pas Android Stduio) ont été utilisés avec les derniers outils et la dernière bibliothèque le 14 janvier 2015 au cours du projet, comme HelloWorld. Lorsque j'ai installé ces outils et fait de HelloWorld la première application, j'ai accepté tous les paramètres par défaut. - C'est le problème dans mon cas.
Commencez par vérifier si la bibliothèque "Android Support Library" est installée. Sinon, installez-le. Il n'est pas installé par défaut. Vous pouvez tout faire dans "Android SDK manager" disponible dans le menu.
(Gestionnaire de SDK Android -> Extra -> Android Bibliothèque de support)
Bénédictions, (un débiteur) <> <
La solution acceptée fonctionnait pour moi une fois, mais pas maintenant. Je devais recréer un hello-world du même genre (!) Dans un nouvel espace de travail, le faire compiler, puis copier tous les répertoires, y compris .hg
et .hgignore
. hg diff
montre:
- Android:targetSdkVersion="19" />
+ Android:targetSdkVersion="21" />
Binary file libs/Android-support-v4.jar has changed
Il semble que Eclipse souhaite compiler pour API 21 et ne rien faire avec API 19. Sombre.
J'ai eu le même problème et même après l'importation/l'ajout d'une jar/bibliothèque comme mentionné dans les réponses, cela ne résoudrait pas l'erreur. Par frustration, je viens de créer un nouvel espace de travail et de créer un nouveau projet Android. Ce dernier importait automatiquement appcompat_v7 et aucune erreur ne se produisait lors du nettoyage et de la construction. N'a pas eu besoin d'importer un seul jar/bibliothèque manuellement. Pour info, j'utilise Eclipse Mars.1 Release (4.5.1) et je rencontrais exactement le même problème à chaque fois que je créais un nouveau projet Android.
dans Eclipse, cliquez avec le bouton droit de la souris sur votre projet -> sélectionnez le chemin de construction, puis sélectionnez configurer le chemin de construction. dans la fenêtre, sélectionnez le fichier jar que vous souhaitez et actualisez votre projet.
Je ne sais pas combien d'entre vous ont remarqué cela. Soutenez la bibliothèque "appcompat_v7" et votre projet devrait se trouver dans le même répertoire (je parle du répertoire de l'espace de travail). Ne nettoyez pas votre projet jusqu'à ce qu'il soit exempt d'erreur, sinon vous aurez du mal avec R.Java
Oublie tout. Utilisez simplement la bibliothèque appcompat téléchargée à l'aide de Android Studio. Il a toutes les définitions manquantes. Que vous utilisiez Eclipse ou non.
Pour Android Studio ou IntelliJ, il vous suffit de mettre à jour vos dépendances dans gradle.build. J'ai utilisé ce qui suit:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.Android.support:appcompat-v7:21.0.2'
}
Si vous avez ajouté appCompat Bibliothèque et avez également donné la référence appropriée à appCompat à partir de l'emplacement du SDK, essayez "invalidate caches/Restart".
Vous pouvez le trouver dans le menu "Fichier" de Android Studio.
Dans mon cas, le problème est survenu depuis que je voulais utiliser un SDK qui n'inclut pas la bibliothèque requise. Quand j'ai augmenté le min. Niveau du SDK, le problème a disparu. Bien sûr, inclure directement la bibliothèque elle-même devrait également supprimer l'erreur.
J'ai fait une erreur vraiment stupide pour cela. Quand j'ai eu la même erreur à chaque fois, je ne pouvais pas comprendre ce qui n'allait pas. ensuite, il m’a fait comprendre qu’une fois que j’avais fermé tous les projets de mon espace de travail, c’était le temps depuis que tous les problèmes ont commencé. SO vérifiez simplement que votre "appcompat_v7" n'est pas fermé. Si c'est le cas, ouvrez le projet par un double clic, puis nettoyez et reconstruisez votre projet. Dans mon cas, les erreurs avaient disparu. Bon codage!
Je ne suis pas sûr que la bibliothèque de support v13 soit disponible lorsque cette question a été posée, mais au cas où quelqu'un aurait encore du mal, j'ai vu que l'ajout de Android-support-v13.jar
corrigera tout. Voici comment je l'ai fait:
<your sdk path>\extras\Android\support\v13\Android-support-v13.jar
J'ai le message d'erreur:
Erreur: (18) Erreur lors de l'extraction du parent pour l'élément: aucune ressource trouvée ne correspond au nom donné 'Theme.AppCompat.NoActionBar'.
avec cette configuration:
compileSdkVersion 23
buildToolsVersion "23.0.1"
Je dois changer le thème de:
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar"/>
à:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"/>
Vous feriez mieux de créer un nouveau projet avec n’importe quel nom, puis utilisez appcompat_v7 que ce programme crée.
Right Click Project-> properties->Android
Dans la section library Add
et choisissez la bibliothèque appcompat.