216 votes

Pourquoi Eclipse ajoute automatiquement la bibliothèque de support appcompat v7 chaque fois que je crée un nouveau projet

Pourquoi mon eclipse ajoute automatiquement la bibliothèque de support appcompat v7 chaque fois que je crée un nouveau projet. Je crée un projet simple dont MainActivity devrait étendre Activity mais ce n'est pas le cas. Eclipse ajoute automatiquement la prise en charge de la barre d'actions.

Est-ce que quelqu'un peut m'aider à créer un projet simple sans la bibliothèque appcompat? Pour votre information, j'ai téléchargé la dernière version de l'ADT avec tout récemment mis à jour. J'utilise Windows 7 x64.

entrer la description de l'image ici

105voto

Halim Qarroum Points 5758

Comme indiqué dans la Présentation de la bibliothèque de support d'Android, il est considéré comme une bonne pratique d'inclure la bibliothèque de support par défaut en raison de la grande diversité des appareils et de la fragmentation qui existe entre les différentes versions d'Android (et donc, des API fournies).

C'est la raison pour laquelle les outils de modèles de code Android inclus dans Eclipse à travers les Outils de développement Android (ADT) les intègrent par défaut.

J'ai remarqué que vous ciblez API 15 dans votre exemple, mais le SDK minimum requis pour votre package est API 10, pour lequel les bibliothèques de compatibilité peuvent fournir une quantité énorme d'API rétrocompatibles. Un exemple serait la possibilité d'utiliser l'API de Fragment qui est apparue sur API 11 (Android 3.0 Honeycomb) sur un appareil qui exécute une version plus ancienne de ce système.

Il est également à noter que vous pouvez désactiver l'inclusion automatique de la bibliothèque de support par défaut.

59voto

songhir Points 761

Créez un nouveau Projet d'application Android et décochez Créer une activité à l'étape deux (Configurer le projet).

22voto

Adam Stelmaszczyk Points 7396

Pourquoi mon eclipse ajoute automatiquement la bibliothèque de support appcompat v7 chaque fois que je crée un nouveau projet

Parce que votre SDK cible est défini sur 15, dans lequel la barre d'action est activée par défaut et votre SDK minimum pris en charge est défini sur 10. La barre d'action apparaît dans la version 11, donc vous avez besoin d'une bibliothèque de support, Eclipse la ajoute pour vous. Référence.

Vous pouvez configurer les bibliothèques de projet dans le chemin de construction des propriétés du projet.

18voto

Naruto Points 418

Eclipse a automatiquement créé le appcompat_v7. En raison du lancement de l'API Kitkat, il ajoute automatiquement appcompat_v7 et fragment_main.xml.

Meilleures façons de résoudre ces problèmes :

  1. Tout d'abord dans le projet, Clic droit->Propriétés->Android. Là, vous pouvez voir le appcompat marqué en rouge placé dans Référence. Cliquez dessus et supprimez-le. Ensuite, cochez le nom de la cible correcte dans Projet Build Target.

  2. Supprimez le fichier fragment_main.xml et Appcompat créé dans votre Eclipse.

  3. Modifiez et changez votre fichier activity_main.xml comme suit :

  4. Dans res/values/styles.xml :

  5. Dans res/values-v11/styles.xml, vous devez changer comme suit :

  6. Dans res/values-v14/styles.xml, vous devez changer comme suit :

  7. Modifiez votre menu/main.xml comme suit :

  8. Enfin, modifiez votre MainActivity.java comme suit :

    import android.app.Activity;
    import android.os.Bundle;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
    }
    
    }

De même, vous devez le faire pour la création d'un nouveau projet

8voto

Ahmad Points 21923

Cela est inclus car la version minimale de votre SDK est définie sur 10. L'ActionBar a été introduite dans l'API 11. Eclipse l'ajoute automatiquement afin que votre application ait un aspect plus cohérent sur l'ensemble des versions Android que vous prenez en charge.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X