Android Studio: ajouter un pot comme bibliothèque?

1027

J'essaie d'utiliser le nouveau Android Studio, mais je n'arrive pas à le faire fonctionner correctement.

J'utilise la bibliothèque Gson pour sérialiser / désérialiser les objets JSON. Mais la bibliothèque n'est en quelque sorte pas incluse dans la construction.

J'avais créé un nouveau projet avec juste une MainActivity . Copié gson-2.2.3.jar dans le dossier / libs et ajouté en tant que dépendance de bibliothèque (clic droit -> Ajouter en tant que bibliothèque). Cela inclut le pot dans Android Studio afin qu'il puisse être référencé à partir des fichiers source.

Lorsque j'essaie d'exécuter le projet, il ne peut pas être compilé, j'ai donc ajouté:

compile files('libs/gson-2.2.3.jar')

aux dépendances dans le fichier de .gradle. Après cela, il se compile correctement mais lors de l'exécution de l'application, j'obtiens un ClassDefNotFoundException.

Est-ce que quelqu'un sait ce que je fais mal?

Ozzie
la source
Référez: stackoverflow.com/a/6859020/28557
Vinayak Bevinakatti
1
Bien que cela ne résout pas le problème, je veux juste souligner que "compiler" a été déconseillé au profit de "implémentation".
Amir Rezazadeh

Réponses:

1535

Je lutte avec la même chose depuis de nombreuses heures, essayant de faire fonctionner le pot Gson pas moins. Je l'ai finalement craqué - voici les étapes que j'ai prises:

  1. Mettez le pot Gson (dans mon cas, gson-2.2.4.jar) dans le libsdossier
  2. Faites un clic droit dessus et cliquez sur 'Ajouter comme bibliothèque'
  3. Assurez-vous qu'il se compile files('libs/gson-2.2.4.jar')trouve dans votre build.gradlefichier (ou compile fileTree(dir: 'libs', include: '*.jar')si vous utilisez de nombreux fichiers jar)

    Modifier: utilisez implementation files('libs/gson-2.2.4.jar')(ou implementation fileTree(dir: 'libs', include: '*.jar')) dans Android Studio 3.0+

  4. Faites une construction propre (vous pouvez probablement le faire correctement dans Android Studio, mais pour vous assurer que j'ai navigué dans un terminal vers le dossier racine de mon application et que gradlew cleanj'ai tapé . Je suis sur Mac OS X, la commande peut être différente sur votre système

Après avoir fait les quatre ci-dessus, cela a bien fonctionné. Je pense que l'étape «Ajouter en tant que bibliothèque» était celle que j'avais précédemment manquée, et cela n'a pas fonctionné jusqu'à ce que je la nettoie non plus.

[Modifier - a ajouté l' build.gradleétape qui est également nécessaire comme d'autres l'ont souligné]

lepoetemaudit
la source
6
gradlew clean m'a aussi aidé. Merci beaucoup!
František Žiačik
172
Si vous ne voulez pas avoir à ajouter explicitement une ligne pour chaque fichier jar: compile fileTree(dir: 'libs', include: '*.jar')
J c
65
Je recommanderais de profiter de la gestion des dépendances transitoires de gradle et de télécharger gson depuis mavenCentral () (si une connexion Internet est nécessaire. Ajoutez repositories { mavenCentral() }et remplacez simplement votre compile files(...)ligne par compile 'com.google.code.gson:gson:2.2.4'et gradle téléchargera et gérera automatiquement le fichier jar pour vous. Cela permet à SCM de suivre uniquement les fichiers de code source et non les bibliothèques
Joe
38
Je ne reçois pas l'option Ajouter en tant que bibliothèque à l'étape 2.
Yster
6
Dans Android Studio 1.0.2, les étapes 2 et 3 ne sont pas nécessaires car cette ligne est déjà dans la valeur par défaut build.gradle: compile fileTree (dir: 'libs', include: ['* .jar'])
Brian Marick
268

Voici les instructions pour ajouter un fichier jar local en tant que bibliothèque à un module:

  1. Créez un dossier 'libs' au niveau supérieur du répertoire du module (le même répertoire qui contient le répertoire 'src')

  2. Dans l' build.gradle fileajout de ce qui suit pour que la fermeture de vos dépendances ait:

    dependencies {
        // ... other dependencies
        compile files('libs/<your jar's name here>')
    }
  3. Android Studio devrait déjà avoir configuré un wrapper gradlew. À partir de la ligne de commande, accédez au niveau supérieur de votre projet (le répertoire gradlewcontenant un fichier).

    Courez ./gradlew assemble. Cela devrait compiler le projet avec la bibliothèque. Vous devrez peut-être corriger les erreurs dans votre fichier build.gradle si nécessaire.

  4. Pour qu'Android Studio reconnaisse les fichiers jar locaux en tant que bibliothèques pour la prise en charge lors du codage dans l'EDI, vous devez prendre quelques mesures supplémentaires:

    4.1. Faites un clic droit sur le module dans le panneau de gauche et choisissezOpen Library Settings .

    4.2. Dans le panneau gauche de la boîte de dialogue, choisissez Libraries.

    4.3. Cliquez sur le +signe au-dessus du panneau deuxième à partir de la gauche ->Java

    Menu

    4.4. Sélectionnez votre pot local et ajoutez-le au projet.

  5. Vous devrez peut-être exécuter la ./gradlewcommande ci-dessus une fois de plus

ZenBalance
la source
Cela a fonctionné pour moi. J'ai Android Studio version 1.2 Build 141.1890965, sur Ubuntu. Pourquoi dites-vous "à partir d'Android Studio 2.5"? Est-ce une version différente sur Windows / Mac? (1a) Trouver cela a été difficile. La zone de liste déroulante est en haut à gauche de la zone de structure du projet. Vous devez sélectionner "Projet" par opposition à "Android" et développer "l'application". (1b) Aucune option "ajouter" n'est apparue, mais "Coller" a fonctionné. (2) J'avais une ligne "compile fileTree (dir: 'libs', include: ['* .jar'])" ", mais je devais encore ajouter votre ligne unique explicite. (4, 5) pas nécessaire une fois (3) effectué avec succès. Merci!
Phil Freihofner
"le panneau de gauche"? Voulez-vous dire le panneau de projet? Pourrait être n'importe où ... Avec Android Studio 2.3.3, je ne trouve pas les paramètres de la bibliothèque, mais l'ajout du pot aux dépendances dans les paramètres du module semble être le même ...
L'incroyable
pour mac, si vous n'avez pas gradle: $ brew installez gradle si vous obtenez "./gradlew: Autorisation refusée", vous devez exécuter $ chmod 755 gradlew Ensuite, vous pouvez exécuter $ ./gradlew assemble
Azkario Rizky
110

Dans le projet, faites un clic droit

-> new -> module
-> import jar/AAR package
-> import select the jar file to import
-> click ok -> done

Suivez les captures d'écran ci-dessous:

1:

Étape 1

2:

entrez la description de l'image ici

3:

entrez la description de l'image ici

Vous verrez ceci:

entrez la description de l'image ici

Ganesh Pandey
la source
@CamConnor je pense aussi .. D'autres réponses sont obsolètes
Ganesh Pandey
C'est LA réponse
Alessandro
4
Mais il n'est pas reconnu comme libraray. Par exemple, andriod studio editor: essayez d'importer un package dans le pot importé, non reconnu.
Dave
Impossible de trouver un moyen de supprimer le module importé de cette manière.
Dave
Pourquoi devrais-je utiliser cette méthode d'ajout de fichier externe et non les autres réponses de la méthode de dossier "copy-jar-to-libs"?
Eido95
48

Dans Android Stuido, j'aime utiliser Gradle pour gérer Gson lib.

Ajoutez la dépendance ci-dessous dans votre fichier build.gradle.

repositories {mavenCentral()}

dependencies {compile 'com.google.code.gson:gson:2.2.4'}

Tout va bien.

Vous pouvez également voir ce post. La meilleure façon d'intégrer une bibliothèque tierce dans Android Studio

saneryee
la source
Cette méthode est la meilleure car elle utilise maven.
Gary Drocella
1
N'oubliez pas de mettre à jour le numéro de version à la dernière :) :) À partir de maintenant, c'est 2.3.1, mais vérifiez le lien
Kitalda
47

IIRC, il ne suffit pas d'utiliser "Ajouter comme bibliothèque" pour qu'il compile avec le projet.

Consultez l'aide d'Intellij sur l'ajout de bibliothèques à un projet

La partie qui devrait vous intéresser le plus est la suivante:

(Dans File > Project Structure ) Ouvrez les paramètres du module et sélectionnez l'onglet Dépendances.

Sous l'onglet Dépendances, cliquez sur ajouter et sélectionnez Bibliothèque.

Dans la boîte de dialogue Choisir des bibliothèques, sélectionnez une ou plusieurs bibliothèques et cliquez sur Ajouter la sélection.

Si la bibliothèque n'apparaît pas dans la boîte de dialogue, ajoutez-la dans les paramètres des bibliothèques, juste en dessous des modules.

Vous ne devriez plus avoir besoin d'ajouter compile files()et la bibliothèque doit être correctement ajoutée à votre projet.

Jukurrpa
la source
Ajouter comme bibliothèque ajoutez déjà le pot de la même manière. Je pense donc que le résultat est le même. Je l'essayerai plus tard.
Ozzie
Ajouter car la bibliothèque le fait avec succès - je suis dans le même bateau que vous Ozzie - EXACT même problème.
Jonah H.18
D'accord, je pensais que Ajouter comme bibliothèque ne l'ajoutait qu'à la liste des bibliothèques et ne l'ajoutait pas aux dépendances de module.
Jukurrpa
Lorsque j'ai essayé cela, j'ai trouvé qu'il ajoutait les lignes de compilation () à mon fichier build.gradle, mais il semblait utiliser des chemins absolus vers les bibliothèques (/libs/foo.jar). Je les change en chemins relatifs (libs / foo.jar), ce qui a résolu le problème pour moi.
Matt Holgate
40

Toutes ces solutions sont dépassées. C'est vraiment facile maintenant dans Android Studio:

Fichier> Nouveau module ...

L'écran suivant a l'air bizarre, comme si vous sélectionniez un widget ou quelque chose, mais gardez-le sur la première image et faites défiler ci-dessous et trouvez "Importer un fichier JAR ou .AAR"

Ensuite, prenez Project Structuredans le menu Fichier.Sélectionnez appdans la fenêtre ouverte, puis sélectionnez dependencies, puis appuyez sur green plus button, sélectionnez module dependencypuis sélectionnez le module que vous avez importé, puis appuyez surOK

Helzgate
la source
Je pense que l'utilisation de maven serait toujours la meilleure solution, en particulier pour les projets à grande échelle, c'est-à-dire fournis par saneryee.
Gary Drocella
2
Même cela semble obsolète. Placez simplement votre fichier .jar dans votre répertoire "libs" et il sera automatiquement compilé dans votre projet. Il existe déjà une configuration de règle par défaut dans Android Studio 1.4 pour inclure tous les fichiers * .jar du répertoire "libs".
Daniele Testa
35

Étapes faciles pour ajouter une bibliothèque externe dans Android Studio

  1. Si vous êtes dans Android View dans l'explorateur de projets, changez-le en vue Project comme ci-dessous

entrez la description de l'image ici

  1. Cliquez avec le bouton droit sur le module souhaité dans lequel vous souhaitez ajouter la bibliothèque externe, puis sélectionnez Nouveau> Directroy et nommez-le comme ' libs »
  2. Copiez maintenant le blah_blah.jar dans les ' libs dossier '
  3. Cliquez avec le bouton droit sur le blah_blah.jar, puis sélectionnez « Ajouter en tant que bibliothèque .. ». Cela ajoutera automatiquement et entrera dans build.gradle comme fichiers de compilation ('libs / blah_blah.jar') et synchronisera le gradle. Et vous avez terminé

Notez s'il vous plaît : si vous utilisez des bibliothèques tierces, il est préférable d'utiliser des dépendances où le script Gradle télécharge automatiquement le JAR et le JAR de dépendance lors de l'exécution du script Gradle.

Ex: compilez 'com.google.android.gms: play-services-ads: 9.4.0'

En savoir plus sur Gradle Dependency Mangement

Vinayak Bevinakatti
la source
34

'compiler des fichiers ...' fonctionnait pour moi, mais plus maintenant. après beaucoup de douleur, j'ai constaté que l'utilisation de cela fonctionne à la place:

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

Je ne sais pas pourquoi cela a fait une différence, mais, au moins, ce fichu truc fonctionne maintenant.

user2084396
la source
1
Cela fonctionne pour moi, mais récemment, il arrive parfois que AS ne récupère pas les pots nouveaux / mis à jour jusqu'à ce que vous effectuiez une synchronisation gradle.
scottyab
N'oubliez pas que "compiler" était déconseillé au profit de "implémentation".
Amir Rezazadeh
17
  1. Télécharger le fichier de la bibliothèque à partir du site Web
  2. Copier depuis Windows Explorer
  3. Coller dans le dossier lib de l'Explorateur de projets
  4. Ctrl+ Alt+ Shift+ Sstructure du projet ouverte
  5. Sélectionnez l'onglet Dépendances, ajoutez le fichier en utilisant +
  6. Barre d'outils Projet de synchronisation avec le fichier de notes à l'aide du bouton

Cela a résolu mon problème. Essayez, si quelqu'un veut plus de détails, faites le moi savoir.

sansalk
la source
17

Je l'ai fait fonctionner en ajoutant simplement une ligne à build.gradle:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar']) ----> AS creates this
    implementation 'com.google.code.gson:gson:2.3.1'   ----------> I added this one
}

N'oubliez pas de cliquer Sync now dans le coin supérieur droit.

J'utilise Android Studio 1.0.1.

Fergara
la source
pourriez-vous nous expliquer ce que fait la fileTreeligne?
Thufir
13

J'ai trouvé Dependency Manager d'Android Studio assez pratique et puissant pour gérer les dépendances tierces (comme gson mentionné ici). Fournir un guide étape par étape qui a fonctionné pour moi (REMARQUE: ces étapes sont testées pour Android Studio 1.6 et les versions ultérieures sur la plate-forme Windows).

Étape 1: Aller à "Construire> Modifier les bibliothèques et les dépendances ..." cela ouvrirait la boîte de dialogue "Structure du projet"

entrez la description de l'image ici

Étape-2: Sélectionnez "application" puis sélectionnez l'onglet "Dépendances". Sélectionnez ensuite "Ajouter> 1 dépendance de bibliothèque"

entrez la description de l'image ici

Étape 3: la boîte de dialogue "Choisir la dépendance de la bibliothèque" s'affiche, spécifiez "gson" dans la recherche et appuyez sur le "bouton de recherche"

entrez la description de l'image ici

Étape 4: La dépendance souhaitée serait affichée dans la liste de recherche, sélectionnez com.google.code.gson: gson: 2.7 (c'est la dernière version au moment où j'ai écrit la réponse), appuyez sur OK

entrez la description de l'image ici

Appuyez sur OK dans la boîte de dialogue "Structure du projet". Gradle mettrait à jour vos scripts de construction en conséquence.

entrez la description de l'image ici

J'espère que cela aiderait :)

UN B
la source
J'ai trouvé un problème avec cette approche, j'ai travaillé sur une application qui utilise commons-io-2.5. Lors du téléchargement de l'application sur Google Developer Console, elle affiche 0 appareil pris en charge pour l'apk signé. Après une enquête approfondie, j'ai compris que je devais placer le fichier jar sous app / libs / commons-io-2.5.jar et mettre à jour les dépendances dans gralde comme ceci 'compiler des fichiers (' libs / commons-io-2.5.jar ') ', je ne sais pas ce que j'ai fait de mal ici et pourquoi la documentation ne couvre pas cela.
AB
C'est ainsi que cela fonctionne. Toutes les autres réponses n'ont pas fonctionné. Android Studio 2.3.3
imsrgadich
11

1. Mettez le bocal (dans mon cas, gson-2.2.4.jar) dans le dossier libs.

2. Assurez-vous que les fichiers de compilation ( libs/gson-2.2.4.jar) se trouvent dans votre fichier build.gradle.

3. Maintenant, cliquez sur "Synchroniser le projet avec les fichiers Gradle" (bouton gauche vers le gestionnaire AVD dans la barre supérieure).

Après avoir fait les trois ci-dessus, cela a bien fonctionné.

Sandeep
la source
9

Téléchargez et copiez votre .jarfichier dans le libsdossier, puis ajoutez ces lignes à build.gradle:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.google.code.gson:gson:2.3.1'
}

N'oubliez pas de cliquer sur "Synchroniser maintenant"

NarenderNishad
la source
9

Vous pouvez le faire avec deux options.

première manière simple.

Copiez le fichier .jar dans le presse-papiers, puis ajoutez-le au dossier libs. Pour voir le dossier libs dans le projet, choisissez le projet dans la zone de liste déroulante au-dessus des dossiers.

puis faites un clic droit sur le fichier .jar et cliquez sur ajouter comme bibliothèque puis choisissez un module puis ok. Vous pouvez voir le fichier .jar dans le fichier build.gradle dans le bloc des dépendances.

 dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.android.support:appcompat-v7:21.0.3'
        implementation project(':okhttp-2.0.0')
        implementation 'com.google.code.gson:gson:2.3.1'
    }

La deuxième façon est la suivante: nous pouvons ajouter un fichier .jar à un module en important ce fichier .jar en tant que module .jar puis ajouter ce module à n'importe quel module que nous voulons.

module d'importation ---> choisissez votre fichier .jar -> puis importez en tant que .jar - entrez la description de l'image ici

Ensuite, CTRL + ALT + MAJ + S -> stabilité du projet -> choisissez le module que vous souhaitez pour ajouter un bocal -> Dépendances -> Dépendance du module. build.gradle du module sera mis à jour automatiquement. entrez la description de l'image ici

huseyin
la source
Agréable. une modification - C'est maintenant "Nouveau module" (Android Studio 1.0.1). "Module d'importation" vous envoie vers un assistant différent ..
Aviv Ben Shabat
7

J'ai fait plus de 3 étapes et son charme de travail pour moi.

(J'utilise Android Studio 2.1.2)

entrez la description de l'image ici

Étape 1

  • Ajoutez le nom de votre package jar (à titre d'exemple compile 'com.squareup.okhttp3:okhttp:3.3.1') dans le script de construction gradle sous build.gradle (Module: app) .

entrez la description de l'image ici

Étape 2: Faites un clic droit sur le dossier de l' application -> Nouveau -> Module

entrez la description de l'image ici

Étape 3: cliquez sur Importer le package JAR / .AAR, puis parcourez votre package. à titre d'exemple: OkHttp.jar

entrez la description de l'image ici

Elshan
la source
7

Avec Android Studio 3+:

Vous devriez simplement pouvoir simplement copier le fichier jar dans le dossier libs juste sous le dossier de l'application.

... monprojet \ app \ libs \ monfichier.jar

Sélectionnez ensuite les fichiers de projet dans la liste déroulante de la fenêtre Projets, cliquez avec le bouton droit sur le projet, sélectionnez Synchroniser pour voir le fichier dans les fichiers de projet. Il ajoutera automatiquement les dépendances dans le fichier gradle (Module: app).

dependencies {
...
    implementation files('libs/myfile.jar')

Voici une autre solution:

Accédez à la vue Fichiers de projet (sélectionnez Fichiers de projet dans la liste déroulante).

entrez la description de l'image ici

Sélectionnez Nouveau ... Répertoire, créez un dossier nommé libs juste sous l'application.

entrez la description de l'image ici

Ouvrez l'Explorateur de fichiers, copiez et collez votre fichier jar dans le dossier libs.

Dans Android Studio, cliquez avec le bouton droit sur le fichier jar et sélectionnez Ajouter en tant que bibliothèque ... dans le menu contextuel.

entrez la description de l'image ici

Vous devriez voir le fichier répertorié dans la liste des dépendances du fichier gradle:

dependencies {
...
    implementation files('libs/myfile.jar')
}

Ouvrez votre fichier java et ajoutez-y l'instruction d'importation:

import com.xxx.xxx;
l'amour en direct
la source
7

Mettez les .jarfichiers danslibs dossier du projet Android.

Ajoutez ensuite cette ligne de code dans le fichier gradle de l'application:

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

Pour le plugin Android Gradle 3.0 et versions ultérieures, il est préférable de l'utiliser à la place:

    implementation fileTree(dir: 'libs', include: ['*.jar'])
Aby Mathew
la source
7

Contrairement à Eclipse, nous n'avons pas besoin de télécharger le fichier jar et de le placer dans le dossier / libs. Gradle gère ces choses dont nous avons seulement besoin pour ajouter des dépendances Gradle, Gradle le télécharge et met en cache Gradle.

Nous devons ajouter des dépendances comme:

dépendances {implémentation 'com.google.code.gson: gson: 2.2.4'}

thats it Cependant, nous pouvons également télécharger jar et l'ajouter en tant que bibliothèque, mais la meilleure pratique consiste à ajouter des dépendances Gradle.

Pankaj kumar
la source
5
menu File -> project struct -> module select "app" -> dependencies tab -> + button 
-> File dependency -> PATH/myfile.jar
vuhung3990
la source
5

Étape 1: Maintenant sous votre app foldervous devriez voir libs, si vous ne le voyez pas, alors créez-le .

Étape 2: Drag & Drop the .jar file herevous obtiendrez peut-être une invite "This file does not belong to the project", cliquez simplement sur le OKbouton.

Étape 3: Maintenant, vous devriez voir le fichier jar sous le dossier libs , faites un clic droit sur le fichier jar et sélectionnez"Add as library", Click OK for prompt "Create Library"

Étape 4: Maintenant, ce pot a été ajouté.

entrez la description de l'image ici

IntelliJ Amiya
la source
4

Créez un dossier de bibliothèques. Ajoutez votre fichier .jar. Faites un clic droit dessus et vous trouverez ajouter un pot comme dépendance. Clique dessus. C'est tout ce que vous devez faire. Vous pouvez trouver les dépendances ajoutées à votre fichier build.gradle.

Gowtham Chandrasekaran
la source
4

1) créez un dossier «your_libs» dans le dossier Project / app / src.

2) Copiez votre fichier jar dans ce dossier 'your_libs'

3) Dans Android Studio, allez dans Fichier -> Structure du projet -> Dépendances -> Ajouter -> Dépendance des fichiers et accédez à votre fichier jar, qui devrait se trouver sous 'src / your_libs'

3) Sélectionnez votre fichier jar et cliquez sur 'Ok'

puis vous pouvez voir sur votre build.gradle comme ceci: compiler des fichiers ('src / your_libs / your.jar')

idris yıldız
la source
4

Dans Android Studio 1.1.0. J'ai résolu cette question en suivant les étapes:

1: Mettez le fichier jar dans le répertoire libs. (dans le Finder)

2: Ouvrez les paramètres du module, allez dans Dépendances, dans le coin inférieur gauche il y a un bouton plus. Cliquez sur le bouton plus puis choisissez "Dépendance des fichiers". Ici vous pouvez voir votre fichier jar. Sélectionnez-le et c'est résolu.

mbo
la source
4

J'ai lu toutes les réponses ici et elles semblent toutes couvrir les anciennes versions d'Android Studio!

Avec un projet créé avec Android Studio 2.2.3, j'avais juste besoin de créer un libsrépertoire sousapp et d'y placer mon pot. Je l'ai fait avec mon gestionnaire de fichiers, pas besoin de cliquer ou de modifier quoi que ce soit dans Android Studio.

Pourquoi ça marche? Ouvrez Build / Edit Libraries and Dependencies et vous verrez:

{include=[*.jar], dir=libs}
0xF
la source
3

Sous Mac OS X:

  1. Ajouter un pot en tant que bibliothèque (faites glisser le pot vers les bibliothèques, cliquez avec le bouton droit sur ajouter en tant que bibliothèque)

  2. Ajouter une instruction de compilation à build.grade

  3. Installer gradle v1.6(utiliser homebrew)

    • brasser installer gradle
    • gradle -v
    • sinon v1.6, mettre à jour homebrew
  4. Gradle Clean (reconstruire Android n'a pas fonctionné)

Cela m'a fait comprendre.

user2573236
la source
3

Comme beaucoup l'ont souligné, vous ajouterez

compile files('libs/gson-2.2.3.jar') 

dans votre fichier build.gradle.

Cependant, j'ai un projet dans Android Studio qui a été migré depuis Eclipse et dans ce cas, le dossier "libs" est nommé "lib", donc pour moi, la suppression du "s" a résolu le problème.

Christina
la source
3
  1. Ajout du libsdossier au niveau deapp .
  2. Ajout de tous jarsdans ce projet.
  3. Ensuite, sélectionné tous les pots, dans le libsdossier,
  4. faites un clic droit sur les éléments sélectionnés et dites add library
  5. alors vous trouverez l'option d'extension des pots, dans l'explorateur de projet lui-même.

J'ai observé CTRL+ ALT+ SHIFT+ S-> structure de projet -> app-module -> Dépendances » avait déjà une entrée comme (dir: 'libs', include: '*.jar')sous compile-option, au début et après avoir ajouté le pot est selon les étapes indiquées ci - dessus, le. A build.gradleobtenu les entrées pour le nouveau ajouté pot, lui-même.

parasir
la source
3

Dans Android Studio 2.1, je suis le suivant,

Aller à l'application -> src-> principal -> dossier d' actifs (si non disponible, créez-le) -> mettez vos fichiers JAR

entrez la description de l'image ici

Dans votre build.gradle, ajoutez une dépendance comme celle-ci,

implementation files('src/main/assets/jsoup.jar')
implementation files('src/main/assets/org-apache-xmlrpc.jar')
implementation files('src/main/assets/org.apache.commons.httpclient.jar')
implementation files('src/main/assets/ws-commons-util-1.0.2.jar')

Synchroniser maintenant. Maintenant, vos fichiers JAR prêts à l'emploi.

Ranjith Kumar
la source
Pourquoi n'utilisez-vous pas le répertoire libs?
Deni Erdyneev
@ErdeniErdyneev Je donne une autre approche pour stocker les fichiers jar. pourquoi je n'utilise pas d'actifs? des problèmes dans mon approche? Je suis prêt à corriger les erreurs si je me trompe
Ranjith Kumar
3

Pour les nouveaux Android 1.0.2, les éléments suivants sont déjà présents dans votre fichier build.gradle

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

Ajoutez le pot de bibliothèque à votre dossier libs -> faites un clic droit sur la bibliothèque -> cliquez sur ajouter en tant que bibliothèque -> il vous demande le projet pour lequel l'ajouter -> sélectionnez votre projet -> cliquez sur ok La ligne suivante est automatiquement ajoutée pour construire .gradle

implementation files('libs/android-query.jar')

Ça l'a fait pour moi. rien de plus n'était requis. J'ai montré cela pour Android Aquery une autre bibliothèque tierce pour Android.

user2779311
la source
2

Ma réponse consiste essentiellement à rassembler certaines des réponses correctes mais incomplètes fournies ci-dessus.

  1. Ouvrez build.gradle
  2. Ajoutez ce qui suit:

    dependencies {
    compile 'com.android.support:appcompat-v7:19.+'
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.code.gson:gson:2.3'
    }

    Cela permettra la prise en charge de deux façons différentes d'ajouter des dépendances. Le compile fileTree(dir: 'libs', include: ['*.jar'])(comme @Binod l'a mentionné) dit au compilateur de regarder sous le dossier libs pour N'IMPORTE QUEL pot. C'est une bonne pratique de créer un tel dossier «libs» qui contiendra les packages jar que notre application doit utiliser.

Mais cela permettra également de prendre en charge la dépendance Maven. La compilation'com.google.code.gson:gson:2.3' (comme mentionné par @saneryee) est une autre façon recommandée d'ajouter des dépendances qui sont dans un référentiel distant central et non dans notre / local "référentiel local". Il s'agit essentiellement de dire à gradle de rechercher cette version de ce package et de demander au compilateur de la prendre en compte lors de la compilation du projet (en l'ayant dans le chemin de classe)

PS: j'utilise les deux

diegosasw
la source