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




dependencies android studio (24)

Android Studio 3.0

Ajoutez simplement le nom de la bibliothèque au bloc de dépendances du fichier build.gradle de votre application.

dependencies {
    // ...
    implementation 'com.example:some-library:1.0.0'
}

Notez que vous devez utiliser l' implementation plutôt que de la compile maintenant. C'est nouveau avec Android Studio 3.0. Voir cette Q & A pour une explication de la différence.

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

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


Utilisez 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 fichier junit.jar au classpath.

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

Par exemple

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

Android Studio est en train de changer.

Il existe une section nommée "Ouvrir les paramètres du module" 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).


Fondamentalement, vous pouvez inclure vos fichiers JAR de trois façons différentes. Le dernier est une bibliothèque distante qui utilise https://bintray.com/ jcenter online repository. Mais, si vous le faites de l'une des deux autres manières, le fichier JAR sera physiquement inclus dans votre projet. Veuillez lire ce lien https://.com/a/35369267/5475941 pour plus d'informations. Dans ce post, j'ai expliqué comment importer votre fichier JAR dans un studio Android et j'ai expliqué toutes les manières possibles.

En résumé, si c'est comme ça (adresse locale), ils sont téléchargés et ces fichiers JAR sont physiquement dans le projet:

Mais, s'il s'agit d'une adresse Internet comme celle-ci, ce sont des bibliothèques distantes (bintray.com jcenter part) et elles seront utilisées à distance:

J'espère que ça aide.



J'ai aussi rencontré le même problème que j'ai suivi les choses.

  1. J'importe le projet de bibliothèque dans mon IDE AndroidStudio en tant que module en utilisant le menu Fichier -> Importer les menus du module

  2. Ensuite, je suis allé à mon module principal dans lequel je veux que le projet de bibliothèque en tant que projet dépendant

  3. Clic droit sur le module principal (dans mon cas son nom est app ) -> paramétrage du module ouvert -> allez dans l'onglet dépendances -> cliquez sur le bouton + (vous l'aurez sur le côté droit de la fenêtre) -> cliquez sur dépendance du module > sélectionnez votre projet de bibliothèque dans la liste

Appliquez les modifications et cliquez sur le bouton OK .

Cela a fonctionné pour moi. J'espère que cela aidera aussi les autres.


Pour Android Studio:

Cliquez sur Build.gradle (module: app) .

Et ajouter pour

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile files('libs/commons-io-2.4.jar')
}

et dans votre répertoire "app", créez un répertoire, "libs". Ajoutez le fichier yourfile.jar:

Enfin, compilez les fichiers Gradle:


Dans Android Studio, accédez au dossier de l'application et ouvrez le fichier build.gradle. Ici, vous verrez les dépendances {}. A l'intérieur, vous pouvez ajouter le projet de bibliothèque et synchroniser. Maintenant, après la synchronisation de la bibliothèque, il sera ajouté à votre projet, et vous pouvez utiliser ses fonctions et classes dans votre projet.


Si vous avez Android Studio .0.4.0, vous pouvez créer un nouveau dossier dans votre chemin de YourApp/libraries , YourApp/libraries . Copiez le fichier JAR. Là, faites un clic droit dessus et "Ajouter comme bibliothèque". Maintenant, vous avez un popup. Sélectionnez simplement votre répertoire et appuyez sur OK, et c'est tout.


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".


La modification des dépendances de bibliothèque via l'interface graphique n'est pas conseillée car cela n'écrit pas ces modifications dans votre fichier build.gradle. Votre projet ne sera donc pas construit à partir de la ligne de commande. Nous devrions éditer le fichier build.gradle directement comme suit.

Par exemple, donné à la structure suivante:

Mon projet/

  • app /
  • bibliothèques /
    • lib1 /
    • lib2 /

Nous pouvons identifier trois projets. Gradle les référencera avec les noms suivants:

  1. : application
  2. : bibliothèques: lib1
  3. : bibliothèques: lib2

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')
}

Pour ajouter à la réponse: Si l'EDI ne montre aucune erreur, mais quand vous essayez de compiler, vous obtenez quelque chose comme:

No resource found that matches the given name 'Theme.Sherlock.Light'

Votre projet de bibliothèque est probablement compilé en tant que projet d'application. Pour changer cela, allez à:

Menu Fichier -> Structure du projet -> Facettes -> [Nom de la bibliothèque] -> Vérifier "Module de la bibliothèque".


First Way Cela fonctionne pour MacBook.

Sélectionnez d'abord votre fichier builder.gradle comme écran donné:

Ajouter des dépendances comme sur l'écran sélectionné:

Sélectionnez le projet de synchronisation.

Si vous obtenez une erreur comme "Project with path ': signature-pad" ne peut pas être trouvé dans le projet': app '", alors utilisez la seconde méthode:

Sélectionnez le menu Fichier -> Nouveau -> Importer le module ... :

Après avoir cliqué sur Importer un module ,

donne le chemin de la bibliothèque comme mon chemin MacBook:

Cliquez sur Terminer . Maintenant, votre bibliothèque est ajoutée.


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.


  1. Appuyez sur F4 pour afficher la structure du projet , cliquez sur bibliothèques ou bibliothèques globales et cliquez sur + pour ajouter le fichier JAR.
  2. Cliquez sur Modules pour ajouter un fichier jar, sélectionnez l'onglet Dépendances , cliquez sur + et ajoutez Bibliothèque.

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 d'Android Studio, consultez la réponse ci-dessous avec un guide visuel (il existe des différences entre Android Studio 1.0 et les 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 toutes les librairies Android connues sont disponibles dans un dépôt Maven et son installation ne prend qu'une seule ligne de code dans le fichier app/build.gradle :

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 appelé HelloWorld .
  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éez un nouveau dossier: /libs dans lequel nous placerons nos bibliothèques externes (cette étape n'est pas nécessaire - uniquement pour conserver une structure de projet plus propre).
  2. Collez votre bibliothèque dans le nouveau dossier /libs . Dans cet exemple, j'ai utilisé la bibliothèque PagerSlidingTabStrip (il suffit de télécharger ZIP depuis GitHub, de renommer le répertoire de la bibliothèque en "PagerSlidingTabStrip" et de 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 de fichier build.gradle , 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 d'éditer le fichier gradle.properties et d'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 vos fichiers build.gradle (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 ' . Votre bibliothèque devrait être disponible dans votre projet.

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

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

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


En effet, à mesure que les versions changent, l'interface utilisateur et les options disponibles dans le menu changent également. Après avoir lu la plupart des réponses à ces questions, j'ai dû deviner ce qui fonctionnerait pour Android Studio 1.1.0 .

  1. Avec votre souris, sélectionnez le projet au niveau principal (c'est ici qu'il affiche le nom de votre application).

  2. Cliquez avec le bouton droit de la souris et sélectionnez les options de menu Nouveau, Dossier, Dossier Assets .

  3. Après avoir créé le dossier des ressources, collez-y ou copiez-le, quel que soit le fichier JAR dont vous avez besoin pour votre bibliothèque.

  4. Dans le menu principal d'Android Studio (en haut de l'écran), sélectionnez Fichier -> Structure du projet .

  5. Sélectionnez ensuite le nom de votre projet et accédez à l'onglet Dépendances .

  6. Cliquez sur le signe plus ( + ) en bas à gauche de la boîte de dialogue et sélectionnez la dépendance du fichier.

  7. Enfin, ouvrez le dossier assets récemment créé, sélectionnez les fichiers JAR que vous avez copiés, puis cliquez sur apply et OK .

Nettoyez et reconstruisez votre projet.


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, cliquez sur le module auquel vous souhaitez ajouter la dépendance et sélectionnez Paramètres du module ouvert.

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.

Source


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. Fichier de menu -> Nouveau module ... :

    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.

  5. ???

  6. Profit


Il suffit d'importer le projet de bibliothèque Android en tant que module et dans Build.gradle .

Appliquer le plugin: 'com.android.library'

Après cela, procédez comme suit:

  1. Faites un clic droit sur Module et sélectionnez Ouvrir les paramètres du module
  2. Sélectionnez les dépendances, cliquez sur + , sélectionnez les dépendances de la bibliothèque et ajoutez le module précédemment importé.

Vous pouvez le faire facilement. Allez dans le menu Fichier -> Nouveau -> Importer le module ... :

Recherchez le répertoire qui contient le module. Cliquez sur Terminer:

Accédez à la structure du projet et ajoutez la dépendance du module :

Remarque: Si vous recevez une erreur SDK, mettez à jour celle-ci.


J'envisagerais les dépendances, les bibliothèques Android et la configuration nécessaire à la configuration de plusieurs projets . 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 des sous-modules git pour lier la bibliothèque imbriquée à la bibliothèque réelle git repo pour éviter un désordre de dépendance.


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 répertoire libs sous vos projets:

c) Ajouter à build.gradle:

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

b) Si votre projet de l'exemple com.example.MYProject et les bibliothèques com.example.ScanAPI a le même espace de noms com.example , Android 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 cliquer droit sur la bibliothèque et sélectionner l'option "Ajouter comme bibliothèque" et sélectionner 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.


J'ai trouvé la solution. C'est si simple. Suivez les share .

Assurez-vous de créer un dossier Source dans le dossier src dans Structure de projet -> Modules (sources).


Ouvrez le fichier de l'application du module build gradle et ajoutez votre dépendance. Si vous téléchargez la bibliothèque, il vous suffit d'importer et de créer en tant que gradle.

Sinon, ajoutez des dépôts dans l'application du module secondaire:

repositories {
        maven { url 'http://clinker.47deg.com/nexus/content/groups/public' }
}

Les premiers dépôts téléchargeront la bibliothèque pour vous.

Et compilez la bibliothèque téléchargée:

 compile ('com.fortysevendeg.swipelistview:swipelistview:[email protected]') {
        transitive = true
    }

Si vous créez une bibliothèque, il vous suffit d'importer le projet en tant que nouveau module d'importation.





android-studio