Question Comment ajouter un projet de bibliothèque à Android Studio?


Comment ajouter un projet de bibliothèque (tel que Sherlock ABS) à Android Studio?

(Pas à l'ancien bundle ADT Eclipse, mais au nouveau Android Studio.)


740
2018-05-16 12:55


origine


Réponses:


Mise à jour pour Android Studio 1.0

Depuis qu'Android Studio 1.0 a été publié (et beaucoup de versions entre la v1.0 et l'une des premières à partir de ma réponse précédente), certaines choses ont changé.

Ma description est centrée sur l'ajout de projet de bibliothèque externe à la main via les fichiers Gradle (pour une meilleure compréhension du processus). Si vous souhaitez ajouter une bibliothèque via le créateur Android Studio, vérifiez simplement la réponse ci-dessous avec un guide visuel (il y a quelques différences entre Android Studio 1.0 et ceux des captures d'écran, mais le processus est très similaire).

Avant de commencer à ajouter une bibliothèque à votre projet, pensez à ajouter la dépendance externe. Il ne gâchera pas dans la structure de votre projet. Presque chaque bibliothèque Android bien connue est disponible dans un Maven référentiel et son installation prend seulement une ligne de code dans le app/build.gradle fichier:

dependencies {
     compile 'com.jakewharton:butterknife:6.0.0'
}

Ajouter la bibliothèque

Voici le processus complet d'ajout de la bibliothèque Android externe à notre projet:

  1. Créez un nouveau projet via le créateur Android Studio. Je l'ai nommé Bonjour le monde.
  2. Voici la structure de projet originale créée par Android Studio:
HelloWorld/
      app/
           - build.gradle  // local Gradle configuration (for app only)
           ...
      - build.gradle // Global Gradle configuration (for whole project)
      - settings.gradle
      - gradle.properties
      ...
  1. Dans le répertoire racine (HelloWorld/), créer un nouveau dossier: /libs dans lequel nous placerons nos bibliothèques externes (cette étape n'est pas nécessaire - seulement pour garder une structure de projet plus propre).
  2. Collez votre bibliothèque dans la nouvelle création /libs dossier. Dans cet exemple j'ai utilisé Bibliothèque PagerSlidingTabStrip (il suffit de télécharger ZIP à partir de GitHub, renommer le répertoire de la bibliothèque en "PagerSlidingTabStrip" et le copier). Voici la nouvelle structure de notre projet:
HelloWorld/
      app/
           - build.gradle  // Local Gradle configuration (for app only)
           ...
      libs/
           PagerSlidingTabStrip/
                - build.gradle // Local Gradle configuration (for library only)
      - build.gradle // Global Gradle configuration (for whole project)
      - settings.gradle
      - gradle.properties
      ...
  1. Modifier settings.gradle en ajoutant votre bibliothèque à include. Si vous utilisez un chemin personnalisé comme je l'ai fait, vous devez également définir le répertoire du projet pour notre bibliothèque. Un ensemble settings.gradle devrait ressembler à ci-dessous:

    include ':app', ':PagerSlidingTabStrip'
    project(':PagerSlidingTabStrip').projectDir = new File('libs/PagerSlidingTabStrip')
    

5.1 Si vous faites face à une erreur "Configuration par défaut", essayez ceci au lieu de l'étape 5,

    include ':app'
    include ':libs:PagerSlidingTabStrip'
  1. Dans app/build.gradle ajoutez notre projet de bibliothèque en tant que dépendance:

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:21.0.3'
        compile project(":PagerSlidingTabStrip")
    }
    

6.1. Si vous avez suivi l'étape 5.1, suivez ceci au lieu de 6,

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:21.0.3'

        compile project(":libs:PagerSlidingTabStrip")
    }
  1. Si votre projet de bibliothèque n'a pas build.gradle fichier, vous devez le créer manuellement. Voici un exemple de ce fichier:

        apply plugin: 'com.android.library'
    
        dependencies {
            compile 'com.android.support:support-v4:21.0.3'
        }
    
        android {
            compileSdkVersion 21
            buildToolsVersion "21.1.2"
    
            defaultConfig {
                minSdkVersion 14
                targetSdkVersion 21
            }
    
            sourceSets {
                main {
                    manifest.srcFile 'AndroidManifest.xml'
                    java.srcDirs = ['src']
                    res.srcDirs = ['res']
                }
            }
        }
    
  2. De plus, vous pouvez créer une configuration globale pour votre projet qui contiendra les versions SDK et la version des outils de construction pour chaque module afin de conserver la cohérence. Il suffit de modifier gradle.properties fichier et ajouter des lignes:

    ANDROID_BUILD_MIN_SDK_VERSION=14
    ANDROID_BUILD_TARGET_SDK_VERSION=21
    ANDROID_BUILD_TOOLS_VERSION=21.1.3
    ANDROID_BUILD_SDK_VERSION=21
    

    Maintenant, vous pouvez l'utiliser dans votre build.gradle fichiers (dans l'application et les modules de bibliothèques) comme ci-dessous:

    //...
    android {
        compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)
        buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION
    
        defaultConfig {
            minSdkVersion Integer.parseInt(project.ANDROID_BUILD_MIN_SDK_VERSION)
            targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION)
        }
    }
    //...
    
  3. C'est tout. Il suffit de cliquer, synchroniser le projet avec l'icône Gradle ' synchronise with Gradle. Votre bibliothèque devrait être disponible dans votre projet.

Google I / O 2013 - Le nouveau système de création de SDK Android  est une excellente présentation sur la construction d'applications Android avec Gradle Build System: Comme le disait Xavier Ducrohet:

Android Studio traite de l'édition, du débogage et du profilage.   Il ne s'agit plus de construire.

Au début, il peut être un peu déroutant (surtout pour ceux qui travaillent avec Éclipse et n'ont jamais vu la fourmi - comme moi;)), mais à la fin, Gradle nous donne de grandes opportunités et cela vaut la peine d'apprendre ce système de construction.


687
2018-05-19 20:35



Voici le guide visuel:

Mettre à jour pour Android Studio 0.8.2:

Dans Android Studio 0.8.2, accédez à Structure du projet -> sous Modules appuyez simplement sur le bouton plus et sélectionnez Importer un projet existant et importer actionbarsherlock. Puis synchronisez vos fichiers Gradle.

Si vous faites face à l'erreur

Erreur: La révision des outils de génération de SDK (xx.x.x) est trop faible. Le minimum   requis est yy.y.y

il suffit d'ouvrir le build.gradle déposer actionbarsherlock répertoire et mettre à jour le buildToolsVersion à celui suggéré.

android {
  compileSdkVersion 19
  buildToolsVersion 'yy.y.y'

Android Studio 0.8.2


Menu Fichier -> Structure du projet ...:

First

Module -> Module d'importation

Second

Après l'importation du module de bibliothèque, sélectionnez votre module de projet et ajoutez la dépendance:

Third

Et puis sélectionnez le module importé:

Forth


264
2018-05-19 12:33



Utiliser le menu Fichier -> Structure du projet -> Modules.

J'ai commencé à l'utiliser aujourd'hui. C'est un peu différent.

Pour Sherlock, peut-être que vous voulez supprimer leur répertoire de test, ou ajouter le junit.jar fichier au classpath.

Pour importer la bibliothèque en utilisant gradle, vous pouvez l'ajouter à la dependencies section de votre build.gradle (celui du module).

Par exemple.

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.1.0'
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
}

Android Studio est en train de changer.

Il existe une section nommée "Paramètres du module ouvert" si vous faites un clic droit sur un dossier de module dans la section projet d'Android Studio (j'utilise la version 0.2.10).


107
2018-05-16 12:57



Je considérerais Dépendances, bibliothèques Android et configuration multi-projets lecture nécessaire. Veuillez prendre quelques minutes pour le faire.

En particulier, dans le cas d'un projet de bibliothèque non-jar, lisez l'extrait suivant de la source ci-dessus:

Les projets Gradle peuvent également dépendre d'autres projets Gradle en utilisant une configuration multi-projets.   Une installation multi-projets fonctionne généralement en ayant tous les projets en tant que sous-dossiers d'un projet racine donné.

Par exemple, donné à la structure suivante:

MyProject/
 + app/
 + libraries/
    + lib1/
    + lib2/

Nous pouvons identifier 3 projets. Gradle les référencera avec le nom suivant:

:app
:libraries:lib1
:libraries:lib2

Chaque projet aura son propre build.gradle déclarant comment il est construit.   De plus, il y aura un fichier nommé settings.gradle à la racine déclarant les projets.   Cela donne la structure suivante:

MyProject/
 | settings.gradle
 + app/
    | build.gradle
 + libraries/
    + lib1/
       | build.gradle
    + lib2/
       | build.gradle

Le contenu de settings.gradle est très simple:

include ':app', ':libraries:lib1', ':libraries:lib2'

Ceci définit quel dossier est réellement un projet Gradle.

Le projet: app est susceptible de dépendre des bibliothèques, et cela en déclarant les dépendances suivantes:

dependencies {
    compile project(':libraries:lib1')
}

Veuillez noter qu'il n'y a eu que peu ou pas d'utilisation d'Android Studio GUI pour que cela se produise.

J'utilise actuellement git submodules pour lier la bibliothèque imbriquée à la bibliothèque réelle git repo pour éviter un désordre de dépendance.


49
2017-10-14 08:10



Je viens de trouver un moyen plus facile (plutôt que d'écrire directement dans les fichiers .gradle).

C'est pour Android Studio 1.1.0.

  1. Menu Fichier -> Nouveau module ...:

    Import Existing Project

    Cliquez sur "Importer un projet existant".

  2. Sélectionnez la bibliothèque souhaitée et le module souhaité.

  3. Cliquez sur Terminer. Android Studio importera la bibliothèque dans votre projet. Il va synchroniser les fichiers Gradle.

  4. Ajoutez le module importé aux dépendances de votre projet.

    Faites un clic droit sur le dossier de l'application -> Ouvrir les paramètres du module -> allez à l'onglet dépendances -> Cliquez sur le bouton '+' -> cliquez sur Dépendance du module.

    Le module de bibliothèque sera ensuite ajouté aux dépendances du projet.

    Add library module

  5. ???

  6. Profit


23
2018-06-29 16:49



La façon la plus simple d'inclure un projet de bibliothèque externe est (par exemple, d'inclure une bibliothèque Facebook qui est stockée dans un répertoire du dossier de dépendances):

  1. Dans settings.gradle ajouter

    include ':facebook'
    
    project(':facebook').projectDir = new File(settingsDir, '../dependencies/FacebookSDK')
    
  2. Dans la section des dépendances build.gradle, ajoutez

    compile project ('facebook')
    

Tout ce qu'il reste à faire est de synchroniser le projet avec les fichiers Gradle.


15
2017-08-08 19:58



Un moyen simple d'ajouter un fichier JAR en tant que bibliothèque à votre projet Android Studio:

a) Copiez vos fichiers * .jar

b) Coller dans le libs répertoire sous vos projets:

Enter image description here

c) Ajouter à build.gradle:

dependencies {
    ...
    compile files('libs/ScanAPIAndroid.jar', 'libs/ScanAPIFactoryAndroid.jar', .., ..)
}

b) Si votre projet provient de l'exemple com.example.MYProject et des bibliothèques com.example.ScanAPI a le même espace de nom com.exampleAndroid Studio vérifie votre build et crée toutes les modifications nécessaires dans votre projet. Après cela, vous pouvez consulter ces paramètres dans le menu Fichier -> Structure du projet.

c) Si votre projet et vos bibliothèques ont un espace de noms différent vous devez faire un clic droit sur la bibliothèque et sélectionnez l'option "Ajouter en tant que bibliothèque" et sélectionnez le type dont vous avez besoin.

Souvenez-vous que l'option "Structure du projet" n'effectue aucune modification automatique dans "build.gradle" dans la version actuelle d'Android Studio (0.2.3). Peut-être que cette fonctionnalité sera disponible dans les prochaines versions.


13
2017-08-27 21:40



Option 1: Déposer des fichiers dans le répertoire libs / du projet

Le fichier build.gradle correspondant sera alors mis à jour automatiquement.

Option 2: Modifier le fichier build.gradle manuellement

Ouvrez votre fichier build.gradle et ajoutez une nouvelle règle de génération à la fermeture des dépendances. Par exemple, si vous souhaitez ajouter des services Google Play, la section relative aux dépendances de votre projet devrait ressembler à ceci:

dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile 'com.google.android.gms:play-services:6.5.+'
   }

Option 3: Utiliser l'interface utilisateur d'Android Studio

Dans le panneau Projet, Contrôle + cliquez sur le module auquel vous souhaitez ajouter la dépendance et sélectionnez Ouvrir les paramètres du module.

Enter image description here

Sélectionnez l'onglet Dépendances, suivi du bouton + dans le coin inférieur gauche. Vous pouvez choisir parmi la liste d'options suivante:

  • Dépendance de la bibliothèque
  • Dépendance de fichier
  • Dépendance du module

Vous pouvez ensuite entrer plus d'informations sur la dépendance que vous souhaitez ajouter à votre projet. Par exemple, si vous choisissez Dépendance de bibliothèque, Android Studio affiche une liste de bibliothèques parmi lesquelles vous pouvez choisir.

Une fois que vous avez ajouté votre dépendance, vérifiez votre fichier build.gradle au niveau du module. Il aurait dû être automatiquement mis à jour pour inclure la nouvelle dépendance.

La source


11
2018-04-03 06:32



Si vous avez besoin d'accéder aux ressources d'un projet de bibliothèque (comme vous le faites avec ABS), assurez-vous d'ajouter le projet / module de bibliothèque en tant que "dépendance de module" au lieu d'une "bibliothèque".


8
2018-05-19 01:04