Android Studio: ajouter jar comme bibliothèque?

j'essaie D'utiliser le nouveau studio Android 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 pas incluse dans la construction.

j'avais créé un nouveau projet avec juste un activité principale . Copié gson-2.2.3.jar dans le dossier / libs et l'a ajouté comme une dépendance de bibliothèque(droite cliquez sur->Ajouter que la bibliothèque). Cela inclut le jar dans android studio afin qu'il puisse être référencé à partir des fichiers source.

quand j'essaie d'exécuter le projet il ne peut pas compiler donc j'ai ajouté:

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

aux dépendances dans de .dossier gradle. Après cela il compile correctement mais en lançant l'application je reçois un ClassDefNotFoundException .

est-ce que quelqu'un sait ce que je fais de mal?

934
demandé sur Sonia John Kavery 2013-05-17 15:41:59

30 réponses

je me bats avec la même chose depuis des heures, essayant de faire marcher le bocal Gson. Je l'ai finalement craqué – voici les étapes que j'ai prises:

  1. placez le bocal Gson (dans mon cas, gson-2.2.4.jar ) dans le dossier libs 1519130920"
  2. cliquez avec le bouton droit de la souris et cliquez sur "Ajouter en tant que Bibliothèque "
  3. assurez-vous que compile files('libs/gson-2.2.4.jar') est dans votre fichier build.gradle (ou compile fileTree(dir: 'libs', include: '*.jar') si vous utilisez de nombreux fichiers jar)

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

  4. faire une construction propre (vous pouvez probablement faire cette amende dans Android Studio, mais pour s'assurer que je navigue dans un terminal au dossier racine de mon application et tapé gradlew clean . Je suis sur Mac OS X, la commande pourrait être différente sur votre système

après avoir fait les quatre ci-dessus, il a commencé à fonctionner très bien. Je pense que le L'étape "ajouter en tant que Bibliothèque" était celle que j'avais manquée, et elle n'a pas fonctionné jusqu'à ce que je l'ai nettoyé non plus.

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

1478
répondu lepoetemaudit 2018-04-13 06:31:02

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

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

  2. dans le build.gradle file ajouter ce qui suit afin que vos dépendances de fermeture a:

    dependencies {
        // ... other dependencies
        compile files('libs/<your jar's name here>')
    }
    
  3. Android Studio devrait déjà avoir mis en place un emballage gradlew. De la ligne de commande, naviguez jusqu'au niveau supérieur de votre projet (le répertoire qui a un fichier gradlew ).

    Exécuter ./gradlew assemble . Ceci devrait compiler le projet avec la bibliothèque. Vous devrez peut-être corriger les erreurs dans votre construction.dossier gradle si nécessaire.

  4. afin que Android Studio reconnaisse les fichiers jar locaux comme bibliothèques pour le soutien tout en codant dans L'IDE, vous devez prendre quelques mesures supplémentaires:

    4.1. Clic droit sur le module dans le panneau de gauche et sélectionnez Open Library Settings .

    4.2. Sur le panneau de 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 pouvez avoir besoin d'exécuter la commande ci-dessus ./gradlew une fois de plus

259
répondu ZenBalance 2015-12-18 03:09:27

dans le projet 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:

Step 1

2:

enter image description here

3:

enter image description here

vous verrez ceci:

enter image description here

107
répondu Ganesh Pandey 2015-09-06 11:46:23

IIRC, il ne suffit pas d'Utiliser "Add as library" pour compiler avec le projet.

Vérifier Intellij l'aide de sur l'ajout de bibliothèques de projet

la partie qui devrait vous intéresser le plus est celle-ci:

(dans File > Project Structure ) ouvrez les paramètres du module et sélectionnez L'onglet Dépendances.

dans L'onglet Dépendances, cliquez 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 sélectionné.

si la bibliothèque ne s'affiche 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 devrait être correctement ajoutée à votre projet.

45
répondu Jukurrpa 2015-09-02 12:54:44

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

Ajouter ci-dessous dépendance dans votre build.dossier gradle.

repositories {mavenCentral()}

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

tout va bien.

, Vous pouvez aussi voir ce post. la meilleure façon d'intégrer la bibliothèque tierce partie dans Android studio

44
répondu saneryee 2017-05-23 12:10:48

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

Fichier > Nouveau Module...

l'écran suivant semble bizarre, comme si vous sélectionniez un widget ou quelque chose mais le garder sur la première image et ci-dessous faites défiler et trouvez "importer pot ou .Colis AAR "

puis prendre Project Structure à partir du menu Fichier.Sélectionnez app dans la fenêtre ouverte sélectionnez dependencies ,puis appuyez sur green plus button ,sélectionnez module dependency sélectionnez ensuite le module que vous avez importé, puis appuyez sur OK

38
répondu Helzgate 2016-07-29 12:05:26

'compiler des fichiers... il travaillait pour moi, mais plus maintenant. après beaucoup de douleur, j'ai trouvé que l'utilisation de ce lieu:

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

Je ne sais pas pourquoi cela a fait une différence, mais, au moins cette fichue chose fonctionne maintenant.

33
répondu user2084396 2013-10-11 20:49:36

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

  1. Si vous êtes en Android Afficher dans l'explorateur de projet, de le changer pour Projet voir ci-dessous

enter image description here

  1. clic droit sur le module désiré où vous souhaitez ajouter le bibliothèque externe, puis sélectionner Nouveau > Directroy et l'appeler comme " libs
  2. maintenant Copiez le blah_blah.jar dans le ' libs 'dossier
  3. clic droit sur le blah_blah.jar, puis sélectionnez ' ajouter comme bibliothèque.. " Cela va automatiquement ajouter et entrer dans construire.Grad comme compiler fichiers ('libs / blah_blah.jar') et de synchroniser le gradle. Et vous êtes fait

s'il vous Plaît Note : Si vous utilisez la 3e partie des bibliothèques, alors il est préférable d'utiliser des dépendances où Gradle script télécharge automatiquement le pot et le pot de dépendances lors de Grad script de s'exécuter.

Ex : compilation com.Google.Android.gms:jouer-services-annonces:les dispositions des sections 9.4.0'

plus d'informations à propos de gestion de la dépendance Grade

33
répondu Vinayak Bevinakatti 2017-05-12 18:23:14
  1. télécharger le fichier de Bibliothèque du site web
  2. copie de Windows explore
  3. Coller à dossier lib à partir de l'Explorateur de Projet
  4. Ctrl + Alt + Shift + S ouvrir un Projet "Structure 151920920"
  5. sélectionnez L'onglet Dépendances, ajoutez le fichier en utilisant +
  6. projet de synchronisation de la barre D'outils avec le fichier gradle par en utilisant le bouton

qui a résolu mon problème. Si quelqu'un veut plus de détails, dites-le-moi.

16
répondu sansalk 2015-07-24 14:19:58

Je l'ai fait fonctionner en ajoutant juste une ligne à construire.gradle:

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

n'oubliez pas de cliquer sur" Synchroniser maintenant " dans le coin supérieur droit.

Im utilisant Android Studio 1.0.1.

15
répondu Fergara 2015-09-11 08:06:10

J'ai trouvé le Gestionnaire de dépendances D'Android Studio très pratique et puissant pour gérer les dépendances de tiers (comme gson mentionné ici). Fournir un guide étape par étape qui a fonctionné pour moi (NOTE: Ces étapes sont testées pour Android Studio 1.6 et versions ultérieures sur la plate-forme Windows).

Étape 1: Aller à " construire > éditer les bibliothèques et les dépendances..."ce serait ouvrir la boîte de dialogue "Structure de Projet"

enter image description here

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

enter image description here

Étape 3: La boîte de dialogue "Choisir une bibliothèque dépendante" s'affiche, spécifie "gson" dans la recherche et appuie sur le" bouton de recherche "

enter image description here

Étape 4: La dépendance désiré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

enter image description here

appuyez sur OK dans le dialogue" Structure du projet". Gradle mettra à jour vos scripts de construction en conséquence.

enter image description here

Espère que cela aiderait :)

10
répondu A.B. 2016-07-23 13:32:25

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

2. S'assurer que les fichiers de compilation ( libs/gson-2.2.4.jar ) sont dans votre Compilation.dossier gradle.

3. maintenant, cliquez sur"Sync Project with Gradle files" (à gauche sur le bouton AVD manager sur la barre supérieure).

après que j'ai fait les trois ci-dessus, il a commencé à travailler fin.

9
répondu Sandeep 2015-10-29 14:41:47

Téléchargez et copiez votre fichier .jar dans le dossier libs , puis ajoutez ces lignes pour construire.gradle:

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

n'oubliez pas de cliquer sur "Synchroniser maintenant"

Android Studio 1.1.0

8
répondu NarenderNishad 2015-03-23 06:11:12

contrairement à Eclipse, nous n'avons pas besoin de télécharger jar et de le mettre dans le dossier /libs. Gradle gère ces choses, nous n'avons besoin que d'ajouter des dépendances Gradle, de les télécharger et de les mettre dans la cache gradle.

nous devons ajouter des dépendances comme:

dépendances {compiler 'com.Google.code.gson: gson: 2.2.4'}

c'est ça Cependant, nous pouvons également télécharger jar & ajouter que comme bibliothèque, mais la meilleure pratique est d'ajouter Grad dependencies.

6
répondu Pankaj kumar 2015-06-23 06:36:16

Vous pouvez le faire avec deux options.

première voie simple.

bien reçu .le fichier jar dans le presse-papiers, puis l'ajouter au dossier libs. Pour voir le dossier libs dans le projet, choisissez le projet dans combobox au-dessus des dossiers.

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

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

la deuxième façon est que: nous pouvons ajouter un .le fichier jar à un module par l'importation .fichier jar un .jar module puis ajouter ce module à n'importe quel module que nous voulons.

module d'importation ---> choisissez votre .jar, fichier - > importer en tant que .pot -- enter image description here

puis CTRL+ALT+SHIFT+S -- >projet sturure -->choisir le module que vous voulez ato ajouter un jar -- > dépendances -- > dépendances du Module. construire.gradle du module mis à jour automatiquement. enter image description here

5
répondu huseyin 2015-01-20 12:51:12

vient de mettre les fichiers .jar dans le dossier libs du projet Android.

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

cette ligne de code dans les applications graddle fichier fera le reste.

Happy Coding :)

5
répondu Aby Mathew 2015-07-23 05:31:36

nous avons fait ci-dessus 3 étapes et son travail de charme pour moi.

(J'utilise Android Studio 2.1.2)

enter image description here

Étape 1

  • ajoutez votre nom du paquet jar (comme exemple compile 'com.squareup.okhttp3:okhttp:3.3.1' ) dans le script de construction gradle sous construire.gradle (Module:app) .

enter image description here

Étape 2: Clic droit sur app dossier - > nouveau - > Module

enter image description here

Étape 3: , Cliquez sur Importer JAR/.Paquet AAR puis parcourir votre colis. par exemple: OkHttp.jar

enter image description here

5
répondu Elshan 2016-07-14 18:47:20
menu File -> project struct -> module select "app" -> dependencies tab -> + button 
-> File dependency -> PATH/myfile.jar
4
répondu vuhung3990 2015-01-30 08:51:26

sur Mac OS X:

  1. Add jar, de la bibliothèque (faites glisser le pot à libs, à droite, cliquez sur ajouter lib)

  2. ajouter compiler statement à build.grade

  3. Installer gradle v1.6 (homebrew)

    • brew install gradle
    • Grad-v
    • si non v1.6, upgrade homebrew
  4. gradle propre (reconstruire android ne fonctionne pas)

C'est réglé.

3
répondu user2573236 2013-07-11 15:39:24

créer un dossier libs. Ajouter votre .fichier jar. Cliquez avec le bouton droit de la souris et vous trouverez add jar comme dépendance. Cliquez sur elle. Son tout ce que vous devez faire. Vous pouvez trouver les dépendances ajouté à votre construction.dossier gradle.

3
répondu Gowtham Chandrasekaran 2014-12-30 13:41:05

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 au fichier - > Structure du projet - > dépendances -> ajouter - > dépendance du fichier et naviguez vers votre fichier jar, qui devrait être sous 'src/your_libs'

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

et ensuite vous pouvez voir sur votre construction.gradle comme ceci : compiler les fichiers('src/your_libs/votre.jar')

3
répondu idris yıldız 2015-07-13 07:19:19

dans android Studio 1.1.0 . J'ai résolu cette question par les étapes suivantes:

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

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

3
répondu mbo 2015-07-13 11:33:02

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

Step 2 : Drag & Drop the .jar file here , vous pouvez obtenir un prompt "This file does not belong to the project" , il suffit de cliquer sur OK bouton .

É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, cette pot a été ajouté.

enter image description here

3
répondu IntelliJ Amiya 2015-12-02 11:14:05

Avec Android Studio 3+:

vous devriez juste pouvoir simplement copier le fichier jar dans le dossier libs juste sous le dossier app.

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

sélectionnez ensuite les fichiers projet à partir du menu déroulant dans la fenêtre Projets, cliquez avec le bouton droit de la souris sur le projet, sélectionnez Synchronize pour voir le fichier dans les fichiers projet. Il ajoutera automatiquement les dépendances dans le fichier gradle (Module:app).

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

Voici une autre solution:

allez dans la vue dossiers de projet (sélectionnez Dossiers de projet à partir de la liste déroulante).

enter image description here

Sélectionnez Nouveau... Répertoire, créer un dossier nommé libs sous app.

enter image description here

Ouvrir l'Explorateur de Fichiers, copier et coller votre fichier jar dans le dossier libs.

dans Android Studio, faites un clic droit sur le fichier jar et sélectionnez Ajouter en tant que Bibliothèque... dans le menu contextuel.

enter image description here

vous devriez voir le fichier dans la liste des dépendances dans le fichier gradle:

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

ouvrir votre fichier java, et y ajouter la déclaration d'importation:

import com.xxx.xxx;
3
répondu live-love 2018-09-07 14:37:55

comme beaucoup l'ont fait remarquer, vous devez ajouter

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

à votre taille.dossier gradle.

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

2
répondu Christina 2014-12-27 19:22:16

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 répertoire libs sous app et y placer mon bocal. Je l'ai fait avec mon gestionnaire de fichiers, Pas besoin de cliquer ou modifier quoi que ce soit dans Android Studio.

pourquoi ça marche? Ouvrez construisez / éditez des bibliothèques et des dépendances et vous verrez:

{include=[*.jar], dir=libs}
2
répondu 0xF 2017-01-15 18:50:18

compile fileTree(dir: 'libs', include: '*.jar') fonctionne très bien mais pas compile files(...) ont testé avec le Studio Beta 0.8.1

1
répondu Binod Singh 2014-07-08 11:16:45

ma réponse consiste essentiellement à recueillir quelques-unes des bonnes mais incomplètes réponses fournies ci-dessus.

  1. une construction Ouverte.Grad
  2. ajouter le texte suivant:

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

    cela permettra de supporter 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 trouver N'importe quel jar. C'est une bonne pratique de créer un tel dossier "libs" qui contient les paquets jar que notre application doit utiliser.

mais cela permettra également de soutenir 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 se trouvent dans un dépôt central distant et non dans notre /libs"dépôt local". Il s'agit essentiellement de dire à gradle de chercher cette version du paquet et de dire au compilateur de la prendre en compte lors de la compilation du projet. (l'ayant dans le chemin de classe)

PS: j'utilise les deux

1
répondu iberodev 2014-09-25 04:00:14

pour les nouveaux Android 1.0.2 ce qui suit est déjà là dans votre construction.dossier gradle

compiler fileTree(include: ['*.pot'], dir: 'libs')

Ajouter à la bibliothèque bocal à votre dossier libs -> clic droit de la bibliothèque -> cliquez sur ajouter comme une bibliothèque -> il vous demande pour le projet d'ajouter -> sélectionnez votre projet-> cliquez sur ok La ligne suivante est automatiquement ajoutée pour construire.Grad

compiler des fichiers ('libs / android-query.pot')

qui l'a fait pour moi. rien de plus n'était nécessaire. j'ai montré ceci pour android aquery une autre bibliothèque tierce pour android.

1
répondu user2779311 2015-02-01 15:54:03
  1. a ajouté le dossier "libs"au niveau de "app".
  2. , a Ajouté tous les "pots" dans ce projet.
  3. ensuite, sélectionné Tous les pots, dans le dossier "libs",
  4. faites un clic droit sur les éléments sélectionnés et dites "ajouter une bibliothèque"
  5. alors vous trouverez l'option d'extension jars, dans l'Explorateur de projet lui-même.

j'ai observé " CTRL+ALT+SHIFT+S -- > projet structure --> app-module -->Dépendances" ont déjà une entrée "(dir: 'libs',:'*.jar') "sous" compiler-option", initialement. Et après avoir ajouté les pots selon les étapes indiquées ci-dessus, le "construire.Grad le " a obtenu les entrées pour le nouveau pot ajouté, lui-même.

1
répondu parasrish 2015-06-08 10:44:58