Ajout de bibliothèques de Support au projet Android

Pourquoi ai-je du mal à entrer dans le swing du développement Android? J'ai développé dans diverses langues au fil des ans et, pour une raison quelconque, ne peut tout simplement pas sembler aller au-delà de cette étape "jeez-I-still-feel-a-total-noob" avec Android.

J'essaie donc d'ajouter une barre d'Action à mon projet Android 2.3.3. Pas de problème, non? Le site Web des développeurs Android a un article agréable et clair expliquant exactement comment le faire. Bien sûr cela implique l'ajout du support appcompat v7 bibliothèque. Pas de problème, même ceci est documenté étape par étape sur cette page . Mais, comme avec à peu près tous ces exercices dans Android, je trouve que vous pouvez faire exactement ce que la page vous dit de faire, cela ne fonctionnera toujours pas sans une quantité importante de Googling pour corriger les erreurs que vous rencontrez par la suite.

J'ai donc suivi les étapes sous "utilisation D'Eclipse" dans la section "Ajout de bibliothèques avec des ressources" dans le lien ci-dessus. La première erreur que je reçois est impossible de résoudre la cible android-16'. Pas de problème, celui-ci je pourrais comprendre par moi-même mais je suis curieux, y a-t-il quelque chose dans les documents que j'ai suivis qui m'aurait suggéré que J'ai besoin D'Android 4.1.2 (API16) installé? Ai-je juste lu dessus ou devrais-je savoir par moi-même que, pour faire ce que j'essaie de faire, j'aurais besoin D'API16?

Peu importe, au moins je peux résoudre ce problème, mais j'ai un nouveau problème. Dès que j'ajoute la bibliothèque android-support-V7-compat à mon projet et cliquez sur le OK, la sortie de la console s'allume avec des erreurs, la première étant:

C:... Android-support-V7-appcompat res valeurs-v14 styles_base.xml: 24: erreur: Erreur de récupération du parent pour l'élément: aucune ressource trouvée correspond au nom donné ' Android: Widget.Holo.ActionBar'.

Et les 60 autres erreurs impaires sont similaires mais pour des prénoms différents.

J'apprécierais vraiment que quelqu'un puisse m'aider ici. Évidemment, je voudrais savoir comment résoudre ce problème problème particulier, mais si quelqu'un pouvait me donner quelques conseils sur la façon de passer cette étape très frustrante de l'apprentissage de ce nouvel environnement de développement, je serais toujours si reconnaissant. Qu'est-ce que j'aurais dû faire différemment pour ne pas rencontrer ce genre d'erreurs, autre que de suivre les instructions sur le site Web des Développeurs Android étape par étape?

24
demandé sur Dewald Swanepoel 2013-08-18 00:36:05

9 réponses

OK, je suppose que je devrais poster une réponse car j'ai finalement réussi à résoudre mon propre problème.

Il s'avère que je dois utiliser une cible de construction D'Android 4.2.2, indépendamment du fait que je développe spécifiquement pour Android 2.3.3 - je veux dire, c'est pourquoi j'utilise des bibliothèques de support après tout. J'imagine qu'il pourrait être possible qu'une autre cible inférieure (mais supérieure à 2.3.3) fonctionne toujours je viens d'utiliser la plus haute que j'ai installée et cela a résolu le problème.

Comment j'étais censé savoir cela en suivant les instructions étape par étape sur le site Web des Développeurs Android est un mystère pour moi. La raison pour laquelle j'ai décidé d'essayer de changer targetSdkVersion était à cause de la dernière section de la page référencée dans la question. Il se lit comme suit: "Si vous augmentez la compatibilité ascendante de votre application existante vers une version antérieure de L'API Android avec la bibliothèque de Support, assurez-vous de mettre à jour le manifeste de votre application."Maintenant, je ne suis pas l'augmentation de la rétrocompatibilité de mon application existante. Je change une application existante qui cible 2.3.3 Pour pouvoir inclure une barre d'Action (semble plus comme "compatibilité ascendante"). J'ai essayé de mettre à niveau le targekSdkVersion bien que j'étais à court d'idées et voilà, cela a fonctionné.

22
répondu Dewald Swanepoel 2013-08-18 07:16:19

Je ne sais pas si cela vous aide du tout, mais j'ai lutté avec un problème similaire pendant plusieurs heures et j'ai finalement réussi à le résoudre. Dans mon cas, dans les styles de mon propre projet.fichier xml, Je référencais le style AppCompat dans le mauvais sens dans l'attribut parent.

J'utilisais:

<style name="AppBaseTheme" parent="android:Theme.AppCompat">

Où j'aurais dû utiliser:

<style name="AppBaseTheme" parent="@style/Theme.AppCompat">

Mon erreur était dans la référence au thème.

3
répondu Matej 2013-08-18 03:06:40

J'ai trouvé que la définition de la cible Android à 2.3.3 Pour le projet de bibliothèque android-support-V7-appcompat résout ce problème. Vous n'avez pas besoin de définir la cible de votre projet Plus haut, mais la cible de la bibliothèque plus bas.

1
répondu Jacek Kopecky 2013-08-22 16:05:26

Vous avez identifié le document tout important et la section pertinente "ajout de bibliothèques avec des ressources":

Http://developer.android.com/tools/support-library/setup.html

L'erreur suggère que votre projet n'est pas capable de trouver ces ressources. Veuillez vérifier les éléments suivants:

  1. Vous avez coché "est la bibliothèque" sur le projet de bibliothèque de

  2. Vous avez exporté les fichiers JAR dans le projet de bibliothèque comme décrit dans cette section

  3. Vous avez ajouté que le projet de bibliothèque comme une référence à votre projet d'application

  4. Vous avez ajouté l'android-support-v4.le pot à votre dossier libs dans votre projet d'appli

Si tout cela est définitivement correct, Vérifiez eclipse pour tout message d'erreur - est-ce le projet de bibliothèque ou le projet d'application qui s'allume comme le proverbial Arbre de Noël ?

0
répondu IanB 2013-08-17 21:11:02

Vérifiez tout d'abord si vous avez effectué toutes les étapes décrites comme expliqué sur le site developers. Ensuite, pour les erreurs :

Impossible de résoudre la cible "android-16"

Assurez-vous que vous avez installé API16, cette erreur se produit si vous avez mentionné votre targetsdk à 16 dans votre manifeste alors que le sdk pour API16 n'est pas installé. Vous pouvez installer L'API ou modifier le targetApi de votre projet à la version minimale requise, pour la bibliothèque de support vous utilisez je pense que L'API 11 est la version android minimale requise.

Android: Widget.Holo.ActionBar

Cette erreur doit également être corrigée une fois que targetsdk est corrigé dans votre projet. Depuis pour utiliser Holo.ActionBar vous devez cibler votre projet au niveau d'api minimum pris en charge, c'est-à-dire. 11 ou plus.

0
répondu lil'ms 2013-08-18 06:42:30

J'ai rencontré des problèmes similaires. Utilisation de L'API 18, ADT.

Pour résoudre le problème " impossible de résoudre la cible 'android-16'", je supprime le projet import lib et répète ce que dit le tutoriel.

Ensuite, j'ai trouvé que je ne pouvais pas vraiment "ajouter" la bibliothèque à mon projet. (L'instruction "dans le volet Bibliothèque, cliquez sur Ajouter."il n'y a pas ce détail. 1. Dans votre projet - > propriétés - > chemin de construction Java - > bibliothèques - > ajouter une bibliothèque... - >Conteneur Classpath Android - > sélectionnez le projet lib 2. Dans votre projet -> propriétés -> Android -> ajouter... - >choisissez la lib - > appliquer

Santé

0
répondu vancexu 2013-10-29 02:08:45

Voici comment j'ai évité l'erreur " Impossible de résoudre la cible 'android-16'", lors de l'ajout de v7.

Tout d'abord, j'ai suivi les instructions pour ajouter des bibliothèques de support avec des ressources dans eclipse. Suite à l'étape 4, j'ai cliqué sur Terminer. C'est quand j'ai vu le message d'erreur, android-support-V7-appcompat] impossible de résoudre la cible 'android-16'.

Deuxièmement, j'ai lu ce post. J'ai également ouvert le gestionnaire de téléchargement, mais je n'ai pas besoin de quoi que ce soit mis à jour. Afin de m'assurer que j'ai suivi le étapes exactement aussi correctement que possible, j'ai supprimé le projet android-support-V7-appcompat et j'ai recommencé.

Cette deuxième fois, je n'ai pas coché de cases différentes, après tout. Mais, je n'ai pas non plus EU d'erreurs à l'étape 4. Qui peut dire pourquoi?

Merci, Dewald, vous avez exprimé dans cette question la même frustration que moi. L'expérience est le seul moyen de sortir?

0
répondu Harry 2014-01-22 17:39:15

Si certains de vos fichiers XML de ressources ne trouvent pas leurs références AppCompat respectives, assurez-vous d'ajouter également les bibliothèques de support aux propriétés de votre projet. Vous le faites par:

1.) un clic droit sur votre projet dans le projet

2.) Sélectionnez propriétés. (En bas du menu)

3.) cliquez sur Android dans le menu de gauche de la nouvelle fenêtre contextuelle

4.) Dans la section bibliothèques, cliquez sur le bouton "Ajouter"

5.) Sélectionnez les bibliothèques respectives. (Si aucun n'apparaît, vérifiez s'ils sont déjà affichés dans la fenêtre" bibliothèques " du menu contextuel. S'il y a un x rouge par la bibliothèque souhaitée, essayez de résoudre ce problème en premier.)

6.) Une fois qu'il y a une coche verte à côté des bibliothèques souhaitées, assurez-vous que l'option "est bibliothèque" dans la section Bibliothèques N'est pas sélectionnée.

7.) Cliquez sur Appliquer.

8.) Fermez le menu contextuel.

Si cela ne fonctionne pas, faites le moi savoir et je peux vous aider. J'ai passé trois heures sur le problème donc je sais à peu près toutes les choses possibles qui peuvent mal tourner avec la mise en place.

0
répondu Adam Ruhl 2014-03-13 00:35:40

Aller au projet - > décocher construire automatiquement

Allez dans Projet - > nettoyer... , nettoyez à la fois le projet de bibliothèque et votre projet d'application

Exportez votre application en tant QU'APK signé alors que la compilation est toujours désactivée

0
répondu KAUSHAL J. SATHWARA 2014-04-02 06:50:31