70 votes

Comment puis-je ajouter une bibliothèque (android-support-v7-appcompat) dans IntelliJ IDEA

J'ai créé un projet, copié les fichiers de ressources dans le projet, de la bibliothèque, de l'ajouter à la structure du projet, prescrit style Theme.AppCompat. Compilé sans erreurs, mais quand vous commencez à la relégation de l'Exception:

08-03 00:50:00.406: ERROR/AndroidRuntime(4055): FATAL EXCEPTION: main
        java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$styleable
        at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:98)
        at android.support.v7.app.ActionBarActivityDelegateICS.onCreate(ActionBarActivityDelegateICS.java:58)
        at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:98)
        at com.example.SampleMetrRost.CentralActivity.onCreate(CentralActivity.java:12)
        at android.app.Activity.performCreate(Activity.java:4636)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1051)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1924)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1985)
        at android.app.ActivityThread.access$600(ActivityThread.java:127)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1151)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:4476)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:816)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:583)
        at dalvik.system.NativeStart.main(Native Method)

Aidez-moi, s'il vous plaît. Passé toute la journée d'aujourd'hui.

116voto

Austyn Mahoney Points 4252

À L'Aide De Gradle

Si vous utilisez Gradle, vous pouvez l'ajouter en tant que compile de dépendance.

Instructions

  1. Assurez-vous d'avoir l' Android Support Repository SDK paquet installé. Android Studio reconnaît automatiquement ce référentiel pendant le processus de génération (pas sûr de la plaine de l'Ide).

    Android Support Repository

  2. Ajouter la dépendance à l' {project}/build.gradle

    dependencies {
        compile 'com.android.support:appcompat-v7:19.1.+'
    }
    
  3. Cliquez sur l' Sync Project with Gradle Files bouton.

EDIT: on dirait que ces mêmes instructions sont sur la documentation en vertu de l' Adding libraries with resources -> Using Android Studio.

85voto

Tsung Wu Points 556

Sans Gradle (Gradle solution)

  1. Créer une bibliothèque de prise en charge du projet.

  2. Importer votre projet de bibliothèque à l'Ide Eclipse projet (cette étape s'applique uniquement si vous avez créé votre bibliothèque dans Eclipse).

  3. Clic droit sur le module et sélectionnez Ouvrir les Paramètres du Module.

  4. Installation des bibliothèques de v7 fichier jar Setup libraries of v7 jar file

  5. Configuration du module de la bibliothèque de la v7 Setup library module of v7

  6. Application configuration du module de dépendance de la v7 module bibliothèque Setup app module dependency of v7 library module

10voto

Bersh Points 1159

À L'Aide De Maven

Tout d'abord, vous devez installer android bibliothèques à votre référentiel maven local à l'aide de Maven Android SDK Deployer

Vous pouvez ensuite ajouter de la dépendance à votre pom comme ceci:

    <dependency>
        <groupId>android.support</groupId>
        <artifactId>compatibility-v7-appcompat</artifactId>
        <version>${compatibility.version}</version>
        <type>apklib</type>
    </dependency>

    <dependency>
        <groupId>android.support</groupId>
        <artifactId>compatibility-v7-appcompat</artifactId>
        <version>${compatibility.version}</version>
        <type>jar</type>
    </dependency>

4voto

huangchang Points 21

C'est ma solution:

  1. Copier&coller $ANDROID_SDK/extras/android/support/v7/appcompat à la RACINE de votre projet

  2. Ouvrir "Structure de Projet" sur Intellij, cliquez sur "Modules" sur "Paramètres du Projet", puis cliquez sur "appcompat"->"android', assurez-vous que "Module de Bibliothèque" est cochée.

  3. cliquez sur "VOTRE-PROJECT_NAME" sous "appcompat", supprimer "android-support-v4" et "android-support-v7-compat"; assurer la case avant "appcompat" est cochée. Et, cliquez sur "ok" pour fermer la fenêtre "Structure de Projet" dialogue.

  4. retour à la mainwindow, cliquez sur "appcompat"->"libs" en haut à gauche de la zone du projet. Cliquez-droit sur "android-support-v4", sélectionnez menuitem "Ajouter de la bibliothèque", changer "Ajouter un Module" à "Votre projet". Même avec "android-support-v7-compat".

Après avoir fait ci-dessus, l'ide doit être en mesure de bien trouver le android-support-XXXX modules.

Bonne Chance!

1voto

IanB Points 2051

Comme un Projet de Bibliothèque

Il convient d'ajouter les ressources dans un projet de bibliothèque comme par http://developer.android.com/tools/support-library/setup.html

Section > Ajout de bibliothèques avec des ressources

Vous ajoutez ensuite l' android-support-v7-appcompat bibliothèque dans votre espace de travail, puis l'ajouter comme une référence à votre projet d'application.

La définition de toutes les ressources de votre projet d'application fonctionnera aussi (mais il y a beaucoup de définitions pour ajouter et vous avez oublié de certains d'entre eux), et il n'est pas l'approche recommandée.

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