Comment ajouter un pot dans des bibliothèques externes dans Android Studio

185

Je suis nouveau sur Android Studio. Ce que je dois faire est d'ajouter quelques fichiers jar dans le External Librariesdossier <JDK> ci-dessous.

entrez la description de l'image ici

Si quelqu'un sait comment procéder, aidez-moi.

Manoj
la source
Veuillez vérifier ce lien: stackoverflow.com/questions/16588064/…
Sayem

Réponses:

320

Une réponse tardive, même si j'ai pensé à donner une réponse approfondie à cette question. Cette méthode convient à Android Studio 1.0.0 et supérieur.


PAS


  1. Commencez par basculer votre structure de dossiers d'Android vers Project .

entrez la description de l'image ici

  1. Recherchez maintenant le dossier libs dans le dossier app - build.

entrez la description de l'image ici

  1. Une fois que vous avez collé le fichier .jar dans le dossier libs. Cliquez avec le bouton droit sur le fichier jar et à la fin, cliquez sur Ajouter en tant que bibliothèque . Cela prendra en charge l'ajout des fichiers de compilation ('libs / nom_bibliotheque.jar') dans build.gradle [Vous n'avez pas besoin de le saisir manuellement dans votre fichier de construction].

entrez la description de l'image ici

Vous pouvez maintenant commencer à utiliser la bibliothèque dans votre projet.

capt.swag
la source
3
Je n'obtiens pas l'option Ajouter en tant que bibliothèque à l'étape 3 dans mon Android Studio 3.0.1
Shylendra Madda
3
Oui, j'ai trouvé que maintenant, si elle est déjà ajoutée, cette option ne s'affichera pas.
Shylendra Madda
Perfect a corrigé mon problème
DIRTY DAVE le
138

Ajoutez votre fichier jar au dossier app/libs. Cliquez ensuite avec le bouton droit sur le fichier jar et cliquez sur "Ajouter en tant que bibliothèque".

S'il n'y a pas de libsdossier, vous pouvez le créer. Cliquez sur la zone de liste déroulante qui dit "Android" et changez-la en "Projet"

entrez la description de l'image ici

De là, vous pouvez faire un clic droit sur "applications" dans l'arborescence des répertoires et aller à "Nouveau" => "Répertoire"

Thinsky
la source
36
Si vous ne trouvez pas de dossier lib, cliquez simplement sur la liste déroulante qui dit "Android" et choisissez "Projet". (ce bouton est en haut de l'explorateur de projet)
Gayan Weerakutti
2
Vous pouvez ensuite développer votre projet pour trouver le dossier "libs" ou faire un clic droit sur votre projet et créer un nouveau répertoire. Vous pouvez ensuite déplacer le fichier JAR de votre bibliothèque dans ce répertoire à l'aide du gestionnaire de fichiers de votre système d'exploitation. (Merci, @reversiblean de m'avoir permis de démarrer!)
Richard
+1 pour le commentaire de @ reversiblean - la vue par défaut est "Fichiers de projet" et non "Projet", et cette vue ne montre pas le dossier "app / libs", mais ne vous permet pas non plus de le créer.
Jules
4
Je ne reçois pas l'option Ajouter en tant que bibliothèque dans Android Studio 3.0.1
Shylendra Madda
1
@Thinsky Oui, j'ai trouvé que maintenant, si elle est déjà ajoutée, cette option ne s'affichera pas.
Shylendra Madda
63

Mettez votre JAR dans app / libs, et dans app / build.gradle ajoutez dans la dependenciessection:

compile fileTree(dir: 'libs', include: ['*.jar'])

Gaëtan
la source
puis-je choisir un autre / Mon propre chemin comme "valeurs \ mon_dossier \ monjar.jar" ??? car je travaille sur le code source du studio android.
Sanket Prabhu
Il vous suffit de changer la valeur de «dir» (remplacez donc «libs» par ce dont vous avez besoin).
Gaëtan
1
compile est obsolète
Deepak Samuel Rajan
1
oui, Deepak est correct - 'compile' est obsolète ... alors remplacez-le simplement par 'implementation' et cela devrait fonctionner correctement.
Mark
40

Créez le dossier «libs» dans le répertoire de l'application, copiez votre fichier jar dans le dossier libs, faites un clic droit sur votre fichier jar dans Android Studio et ajoutez en tant que bibliothèque ... Ensuite, ouvrez build.gradle et ajoutez ceci:

dependencies {
    implementation files('libs/your jar file.jar')
}
Mohammad Farahi
la source
1
Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
Michael
20

Étape 1: Téléchargez n'importe quel fichier JAR pour votre projet.entrez la description de l'image ici

Étape 2: Copiez le fichier .jar et collez-le dans le dossier libs.

entrez la description de l'image ici entrez la description de l'image ici

Étape 3: Cliquez sur Fichier> Structure du projet> Sélectionner une application> Dépendances

entrez la description de l'image ici

Étape 4:

entrez la description de l'image ici

Étape 5:

entrez la description de l'image ici

Étape 6: Après avoir cliqué sur le bouton OK, nous pouvons voir les dépendances s'ajouter comme suit:

entrez la description de l'image ici

Patel viral
la source
13

Exemple avec Parse jar ...

Ajouter des fichiers jars au dossier libs à partir de la vue Projet… créer un dossier lib s'il n'existe pas

entrez la description de l'image ici

Copiez tous les pots là-bas ...

Ajoutez des bibliothèques à gradle .... dans le fichier build.gradle:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.0'
    compile 'com.android.support:design:23.0.0'
    compile 'com.android.support:percent:23.0.0'
    compile 'com.parse.bolts:bolts-android:1.+'
    compile fileTree(dir: 'libs', include: 'Parse-*.jar’)
}

Pour ajouter tous les jars du dossier lib ... changez Parse - *. Jar en * .jar

Alberto Hdez
la source
11

Voici comment ajouter un .jarfichier dans Android Studio 2.1.3.

  1. Copiez le fichier .jar Capture d'écran de copie de fichier jar

  2. collez le fichier dans le dossier Libs, puis faites un clic droit sur le fichier .jar et appuyez sur Add as library entrez la description de l'image ici

  3. ouvrir build.gradle entrez la description de l'image ici

  4. ajouter des lignes sous les dépendances comme indiqué sur la capture d'écran entrez la description de l'image icientrez la description de l'image ici

  5. Maintenant, appuyez sur le bouton de lecture et vous avez terminé d'ajouter le fichier .jar entrez la description de l'image ici

Zulqarnain
la source
(Au moins avec AS 2.3) Vous pouvez ignorer les étapes 3 et 4. AS ajoute automatiquement le JAR à vos dépendances build.gradle.
Wing Poon
2
ignorez les étapes 3 et 4, puis ouvrez Fichier-> Structure du projet-> app-> dépendances-> cliquez sur + -> dépendances jar et choisissez le fichier jar. son travail pour moi
Jhohannes Purba
3

L'approche basée sur l'interface graphique serait d'ajouter un module supplémentaire à votre projet.

  1. Dans le menu Fichier, sélectionnez Structure du projet et cliquez sur l'icône plus verte en haut à gauche.
  2. La nouvelle boîte de dialogue du module apparaît
  3. Dans le groupe d'applications de téléphone et de tablette, sélectionnez l'option "Importer un package JAR ou AAR" et cliquez sur Suivant.
  4. Suivez les étapes pour créer un nouveau module contenant votre fichier JAR.
  5. Cliquez sur l'entrée qui correspond à votre projet principal et sélectionnez l'onglet dépendances.
  6. Ajoutez une dépendance au module que vous avez créé à l'étape 4.

Un dernier conseil. Assurez-vous que le fichier JAR que vous incluez est construit avec au plus JDK 1.7 . De nombreux problèmes liés au message d'erreur "com.android.dx.cf.iface.ParseException: mauvaise classe de fichier magique (cafebabe) ou version (0034.0000)" racine directement à ceci: 0.

Thanassis
la source
Confirmez-vous que cette approche est meilleure que l'approche de dossier "copier-jar-vers-libs" comme le disent d'autres réponses?
Eido95
@ Eido95 C'est comme ça que je l'ai fait en 2015. Je me souviens avoir essayé d'inclure l'analyse JSON dans une application Android et c'est ce qui fonctionnait réellement.
thanassis
Quelle approche recommandez-vous que je devrais utiliser à votre avis pour un simple ajout de JAR externe?
Eido95
3

Un moyen simple d'ajouter un fichier Jar Android Studio Steps:

  1. Copiez et collez votre fichier jar dans le dossier libs de votre projet.
  2. Cliquez sur Fichier dans le menu Fichier -> Structure du projet (CTRL + MAJ + ALT + S sous Windows / Linux, ⌘ +; sous Mac OS X).
  3. Sélectionnez Modules dans le panneau de gauche -> onglet Dépendances.
  4. Ajouter ... → Bibliothèque de projets → Joindre un pot.
Rahul Sharma
la source
3

Si quelqu'un cherche une autre solution sans copier réellement le (s) fichier (s) jar dans le répertoire du projet, par exemple lors de l'utilisation d'un jar dans plusieurs projets:

Ouvrez build.gradle et ajoutez

def myJarFolder = 'C:/Path/To/My/Jars'

[...]

dependencies {
    [...]
    compile fileTree(dir: myJarFolder + '/jar/Sub/Folder/1', include: ['*.jar'])
    compile fileTree(dir: myJarFolder + '/jar/Sub/Folder/2', include: ['*.jar'])
    [...]
}

Notez bien sûr que vous n'avez pas besoin d'utiliser la variable myJarFolder , je la trouve cependant utile. Le chemin peut également être relatif, par exemple ../../Path/To/My/Jars .
Testé avec AndroidStudio 3.0

Mise à jour: pour Gradle Plugin> 3.0, utilisez l' implémentation au lieu de compiler :

dependencies {
        [...]
        implementation fileTree(dir: myJarFolder + '/jar/Sub/Folder/1', include: ['*.jar'])
        implementation fileTree(dir: myJarFolder + '/jar/Sub/Folder/2', include: ['*.jar'])
        [...]
    }
adsdf
la source
J'ai un problème avec ça. Je le fais une bibliothèque et l'application qui dépend de la bibliothèque s'exécute dans NoClassDefFoundError. Je reçois également beaucoup d'erreurs à propos de ne pas pouvoir trouver la classe pour le désucrement
tricknology
3

Dans Android Studio version 3.0 ou plus, j'ai utilisé ci-dessous comme:

  1. Créez des bibliothèques dans le répertoire de l'application s'il n'existe pas de dossier comme
    • Aller au projet
    • Aller à l'App
    • cliquez sur applications-> Nouveau-> Répertoire
    • nommé le dossier libs
    • collez le fichier jar dans le dossier libs
    • l'image ressemblera à entrez la description de l'image ici

2.Dans build.gradle, ajoutez des lignes ci-dessous

implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation files('libs/com.ibm.icu_3.4.4.1.jar')
Enamul Haque
la source
1

Si vous ne voyez pas l'option "Ajouter en tant que bibliothèque", assurez-vous d'extraire (décompressez) votre fichier de manière à ce que vous l'ayez mail.jaret non mail.zip.

Ensuite, faites un clic droit sur votre fichier, et vous pouvez voir l'option "Ajouter en tant que bibliothèque".

tajiri
la source
1

Veuillez indiquer l'emplacement du fichier jar dans build.gradle

implementation fileTree(dir: '<DirName>', include: ['*.jar'])

Exemple:

implementation fileTree(dir: 'C:\Downloads', include: ['*.jar'])

Pour ajouter un seul fichier JAR

implementation files('libs/foo.jar')

Remarque: la compilation est obsolète dans le dernier gradle, utilisez donc l'implémentation à la place.

Shahid Hussain
la source
0

La "manière officielle" d'ajouter un fichier jar dans votre projet Android en tant que bibliothèque externe, est d'ajouter le fichier jar dans la section dependencies {} dans build.gradle .

Si vous avez fait tout ce qui précède et qu'aucune de celles ci-dessus ne fonctionne, il existe deux autres possibilités:

  1. Si Android Studio ou un autre IDE ne donne pas d'erreurs soulignées en rouge dans l'éditeur mais s'exécute par erreur dans le compilateur Java, VÉRIFIEZ VOTRE JAR . Votre fichier jar peut ne pas avoir un manifeste approprié inclus donc le compilateur ne sait pas ce que le fichier peut fournir / ne sait pas son nom de package
  2. Peut-être que la structure des dossiers est fausse. La structure du dossier ne correspond pas à son nom de package. package a.b.c;doit correspondre au dossier a> dossier b> dossier c.
  3. Le nom du package a un conflit. (Croyez-moi, cela m'est arrivé et il m'a fallu des heures pour le comprendre.)

Cependant, si vous utilisez cordova , voici quelques conseils pour ajouter des pots externes.

" build-extras.gradle " est la meilleure façon de gérer votre fichier gradle.

Voici les étapes pour gérer les paramètres supplémentaires dans le projet Android basé sur Cordova:

  1. Ajout de votre pot dans build-extras.gradle:
    //Other settings go here, e.g.: buildscript { ... }
    ext.postBuildExtras = {
    // you may have some other settings, e.g.: android { ... }
            dependencies {
                    compile files('libs/abc.jar')
            }
    }

(Étapes plus détaillées ici: Extension du fichier cordova gradle pour inclure les services Google )

  1. Dans le terminal, faites:

cordova build android

Joanne
la source