web-dev-qa-db-fra.com

Ajout d'une bibliothèque externe dans Android studio 0.3.6

Je suis donc relativement nouveau sur Java et j'essaie d'ajouter la bibliothèque this à mon projet. Le problème est que Android studio 0.3.6 n'a pas un moyen simple de le faire et toutes les réponses que j'ai recherchées font référence à une ancienne version de Android Studio, ou décrire comment importer un projet externe (code source, pas fichier jar).

Après avoir lu un peu, je suis arrivé à la conclusion que l'ajout manuel du fichier jar serait le meilleur moyen (copier/coller manuel et éditions gradle) mais comme je l'ai dit, je suis assez nouveau dans cette technologie et je ne sais pas où placer le fichier ni quelles lignes je dois ajouter aux fichiers gradle.

Est-ce que quelqu'un peut m'aider?

MISE À JOUR 1 :
J'ai finalement fait le IDE reconnaître le fichier .jar (j'obtiens la saisie semi-automatique et la reconnaissance de classe). Le nouveau problème est que j'obtiens l'erreur suivante lors de la compilation: Gradle: package com.google.gson does not exist. Voici les étapes que j'ai suivies pour importer la bibliothèque:

  1. Créez un dossier appelé libs dans le répertoire principal (src/main/libs devrait être le résultat)
  2. Copiez le fichier .jar dans ce répertoire
  3. ajoutez la ligne suivante à la section des dépendances du fichier build.gradle de votre projet: compile files('libs/gson-2.2.4.jar'). Cela devrait ressembler à ceci maintenant:

    dépendances {compiler 'com.Android.support:support-v13:+' compiler les fichiers ('libs/gson-2.2.4.jar')}

  4. Recompiler le projet (pas sûr si nécessaire, mais je l'ai fait)
  5. Faites un clic droit sur le dossier libs et sélectionnez "Ajouter comme bibliothèque"
30
Mario Stoilov

Étant donné que la bibliothèque GSON est disponible dans MavenCentral, il existe un moyen simple de l'ajouter qui évite d'avoir à télécharger un fichier d'archive et à l'enregistrer dans votre projet.

Aller à Structure du projet > Modules > Le nom de votre module > Dépendances et cliquez sur le bouton + pour ajouter une nouvelle dépendance. Choisir Dépendance Maven de la liste:

Adding a Maven dependency

Vous obtiendrez une boîte de dialogue dans laquelle vous pouvez saisir des termes de recherche ou la chaîne de coordonnées Maven complète. Étant donné que GSON est une bibliothèque commune pour les développeurs Android à utiliser, elle est en fait donnée dans cette boîte de dialogue à titre d'exemple, avec le nom complet. Vous pouvez la saisir:

Adding GSON dependency

Appuyez sur OK dans les deux boîtes de dialogue et vous devriez être prêt à partir.

Avec ces dépendances Maven, le système de build télécharge automatiquement la bibliothèque et la met en cache si ce n'est déjà fait; il s'en occupe pour vous.

Si vous aviez une bibliothèque qui n'était pas disponible sur MavenCentral, vous pouvez enregistrer l'archive dans un dossier libs dans votre projet, et à partir de la boîte de dialogue des dépendances du module, ajoutez un Dépendance de fichier au lieu d'une Dépendance Maven pour en prendre soin.

Si vous modifiez votre fichier build.gradle à la main, vous devez cliquer sur le bouton "Synchroniser le projet avec les fichiers Gradle" dans la barre d'outils pour forcer Android Studio pour récupérer les modifications et mettre à jour votre projet Si vous passez par la boîte de dialogue Structure du projet, ce n'est pas nécessaire.

Il y a beaucoup de réponses contradictoires à ce problème dans Stack Overflow parce que la fonctionnalité pour cela est en évolution au fur et à mesure que les fonctionnalités nécessaires sont implémentées; il a déjà été cassé. Ces instructions devraient fonctionner correctement pour 0.3.6, et les choses deviendront un peu plus faciles dans 0.3.7 et versions ultérieures.

53
Scott Barta

J'ai eu le même problème. La nouvelle version de Android Studio (0.3.6) a supprimé certaines fonctionnalités nécessaires pour ajouter une bibliothèque existante à un projet à l'aide de l'EDI. Vous devez donc le faire manuellement.

L'ajout de la bibliothèque dans le dossier de build "<projet>\App\build\libs \" interrompra le projet dans "menu> build> clear project/rebuild project".

Solution mise à jour
Ma solution est de générer un nouveau dossier dans "<projet>\<nom de l'application>\src\main\libs \" et d'ajouter la bibliothèque ici. Vous devez maintenant modifier votre "<projet>\<nom de l'application>\build.gradle" en ajoutant ce qui suit (mon exemple montre la valeur de la bibliothèque de support Android:

   dependencies {
       compile 'com.Android.support:support-v4:13.0.0'
       compile 'com.Android.support:support-v13:13.0.0'
       compile files('libs/gson-2.2.4.jar')
   }

Maintenant, sélectionnez la bibliothèque dans "Project View" par un clic droit et sélectionnez "Add as library ...> level> Global library". Cela corrigera un import com.google.gson.Gson; problème.

Peut-être que vous ne pouvez toujours pas construire. Dans ce cas, vous devez vérifier les paramètres du module de votre projet et voir s'il y a une erreur pour la dépendance Gson. Je laisse Android Studio résoudre ce problème en appuyant sur une "petite icône d'ampoule rouge> ajouter une dépendance" dans le coin inférieur droit de la boîte de dialogue des paramètres du module. Maintenant, il ne me montre plus aucune erreur lors de la construction.

Il ne reste plus qu'un problème: le projet perd la référence de bibliothèque à la fermeture du projet. Nous devons donc ajouter la bibliothèque à nouveau ouverte. C'est peut-être un problème de Android Studio 0.3.6. Mario a déposé un rapport de bogue .

BTW: J'ai voté pour cette question parce que j'ai cherché sans succès une solution de travail sur Internet. Je pense que les débutants ne parviendront pas toujours à travailler avec les Android tutoriels pour développeurs de Google lorsqu'ils sont obligés de gérer la bibliothèque de support.

Mise à jour/recommandation

Malheureusement, AS 0.3.6 ne fonctionnait pas correctement. Il existe de nombreux problèmes - au moins lors de l'ajout d'un autre module avec un espace de noms différent. J'ai donc basculé vers l'IDE d'origine: IntelliJ IDEA 12 Community Edition. C'est gratuit et fonctionne pour moi. J'ai fait tout le travail en 2 heures qui nécessite des jours en utilisant cassé Android Studio. Je n'ai aucune idée de ce qui force Google à construire son propre IDE basé sur IntelliJ IDEA sans avantages supplémentaires/fonctionnalités notables lorsque ce dernier fonctionne comme un charme.

7
kirsche40

Exécution Android Studio 0.4.0 Résolu le problème de l'importation de jar par

Project Structure > Modules > Dependencies > Add Files
Browse to the location of jar file and select it

Pour ceux qui aiment l'édition manuelle Open app/build.gradle

dependencies {
    compile files('src/main/libs/xxx.jar')
}

J'ai posté la même chose pour importation de bibliothèques de pots dans Android-studio en mettant un doublon ici juste au cas où vous tomberiez sur ce post à la place

4
ken

Cliquez sur ProjectName-> Libs folder.Paste ce fichier jar dans ce dossier. Rafraîchissez simplement le projet, vous avez terminé.

1
Barun

Créer un nouveau module de bibliothèque

Il est recommandé de regrouper les fonctionnalités que vous pouvez réutiliser dans d'autres applications à l'intérieur d'un module de bibliothèque. Pour créer un module de bibliothèque dans le projet BuildSystemExample:

Click File and select New Module.
On the window that appears, select Android Library and click Next.
Leave the default module name (lib) unchanged and click Next.
Select Blank Activity and click Next.
Type "LibActivity1" on the Activity Name field and click Finish.

Le projet contient maintenant deux modules, app et lib, avec une activité dans chaque module. https://developer.Android.com/sdk/installing/studio-build.html

1
Ra_mon

En utilisant Android Studio 0.8.2, j'ai dû faire ce qui suit (en supposant que la bibliothèque que vous essayez d'ajouter s'appelle MyExternalLib):

  1. Dans le dossier "app/libs" du disque dur, créez un sous-dossier "MyExternalLib" et copiez la bibliothèque externe dans ce dossier.
  2. Dans le fichier "app/build.gradle", à l'intérieur du bloc nommé "dépendances", ajoutez la ligne compile project('libs:MyExternalLib')
  3. Dans le fichier "settings.gradle", ajoutez la ligne include ':app:libs:MyExternalLib'
  4. Cliquez sur le bouton "Synchroniser le projet avec les fichiers Gradle"
1
Dev