Question Android Studio: Ajouter un pot comme bibliothèque?


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

J'utilise le Gson bibliothèque 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é en tant que dépendance de bibliothèque (clic droit-> Ajouter en tant que bibliothèque). Cela inclut le pot dans le studio android afin qu'il puisse être référencé à partir des fichiers source.

Lorsque 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 le fichier de .gradle. Après cela, il compile correctement, mais lors de l'exécution de l'application, je reçois un ClassDefNotFoundException.

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


915
2018-05-17 11:41


origine


Réponses:


J'ai lutté avec la même chose pendant de nombreuses heures, essayant de faire fonctionner le pot de Gson pas moins. J'ai finalement craqué - voici les étapes que j'ai suivies:

  1. Mettez le pot Gson (dans mon cas, gson-2.2.4.jar) dans le libs dossier
  2. Faites un clic droit dessus et cliquez sur "Ajouter en tant que bibliothèque"
  3. Veiller à ce que compile files('libs/gson-2.2.4.jar') est dans votre build.gradle fichier (ou compile fileTree(dir: 'libs', include: '*.jar') si vous utilisez beaucoup de fichiers jar)

    Modifier: Utiliser 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 je l'ai tapé gradlew clean. Je suis sur Mac OS X, la commande peut être différente sur votre système

Après avoir fait les quatre ci-dessus, ça a commencé à bien fonctionner. 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 l'ai nettoyé non plus.

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


1468
2018-05-18 20:08



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 le build.gradle file ajoutez ce qui suit afin que la fermeture de vos dépendances ait:

    dependencies {
        // ... other dependencies
        compile files('libs/<your jar's name here>')
    }
    
  3. Android Studio doit 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 qui contient gradlew fichier).

    Courir ./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 que Android Studio reconnaisse les fichiers jar locaux en tant que bibliothèques à prendre en charge lors du codage dans l'EDI, vous devez effectuer quelques étapes supplémentaires:

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

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

    4.3. Clique 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 ce qui précède ./gradlew commander une fois de plus


257
2017-08-19 19:50



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


105
2017-08-19 05:50



IIRC, en utilisant simplement "Ajouter comme bibliothèque" ne suffit pas pour compiler avec le projet.

Vérifier L'aide d'Intellij à propos de l'ajout de bibliothèques à un projet

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

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

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

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

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

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


45
2018-05-17 13:13



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 un studio Android


44
2017-09-15 23:25



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électionnez un widget ou quelque chose mais gardez le sur la première image et ci-dessous faites défiler et trouvez "Import JAR or .AAR Package"

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


38
2018-02-21 04:20



'compiler les fichiers ...' travaillait pour moi, mais pas plus. après beaucoup de douleur, j'ai trouvé que l'utilisation à la place fonctionne:

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

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


33
2017-10-11 20:49



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

  1. Si vous êtes dans Android Afficher dans l'explorateur de projet, remplacez-le par Projet voir comme ci-dessous

enter image description here

  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. Maintenant copiez le blah_blah.jar dans le 'libs'dossier
  3. Faites un clic droit sur le blah_blah.jar, puis sélectionnez 'Ajouter en tant que bibliothèque'. Cela va automatiquement ajouter et entrer dans build.gradle comme compiler   fichiers ('libs / blah_blah.jar') et synchronisez 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 dépendances où Gradle script   télécharge automatiquement le fichier JAR et le fichier JAR de dépendance lors de la mise à jour   exécution de script.

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

En savoir plus sur Gradle Dependency Mangement


32
2017-08-26 18:48



  1. Télécharger le fichier de la bibliothèque depuis le site Web
  2. Copier à partir de Windows explorer
  3. Coller dans le dossier lib à partir de l'Explorateur de projets
  4. Ctrl+Alt+Décalage+S Ouvrir la structure du projet
  5. Sélectionnez l'onglet Dépendances, ajoutez le fichier en utilisant +
  6. Barre d'outils Synchroniser un projet avec un fichier Gradle à l'aide du bouton

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


16
2017-10-02 09:06