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

119

Je souhaite ajouter une bibliothèque externe https://github.com/foursquare/foursquare-android-oauth à mon application Android (j'utilise Android Studio, les instructions fournies par l'auteur de la bibliothèque pour Eclipse ne fonctionnaient pas pour Android Studio).

J'ai essayé de le faire avec maven, donc dans File-> Project Structure-> Dependencies j'ai ajouté com.foursquare:foursquare-android-nativeoauth-lib:1.0.0mais Gradle Sync échoue:

Error:Failed to find: com.foursquare:foursquare-android-nativeoauth-lib:1.0.0

Quand j'essaye de créer mon application (sans corriger l'erreur ci-dessus parce que je ne sais pas comment) j'obtiens:

Error:A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugCompile'.
> Could not resolve com.foursquare:foursquare-android-nativeoauth-lib:1.0.0.
 Required by:
    ForSquaresOnly:app:unspecified
   > Could not parse POM http://jcenter.bintray.com/com/foursquare/foursquare-android-nativeoauth-lib/1.0.0/foursquare-android-nativeoauth-lib-1.0.0.pom
     > Could not find any version that matches com.foursquare:parent:1.0.0.

Une autre façon d'importer cette bibliothèque? Je peux simplement copier-coller le code source dans ma source ou en créer un JAR?

BTW: si vous rencontrez des problèmes, consultez cette question (j'ai eu ce problème après l'importation): La fusion du manifeste a échoué: uses-sdk: minSdkVersion 14

Marian Paździoch
la source
1
Cela devrait vous aider à stackoverflow.com/questions/16588064/... androidsx.com/...
jackgris

Réponses:

96

Essaye ça:

File> Project Structure> Dependencies Tab> Add module dependency( scope = compile)

Où la dépendance de module est le dossier Android de la bibliothèque de projet.

Malcubierre
la source
2
Je le connais par expérience et inspection .... Mais il existe des documents disponibles: developer.android.com/sdk/installing/studio-build.html
malcubierre
26
Comment faire cela sans copier? La bibliothèque est utilisée par d'autres projets non Android et est régulièrement mise à jour. S'il copie la source, les modifications apportées à l'original ne seront pas visibles. N'est-ce pas stupide?
Brian Reinhold
1
où est l'option Structure du projet?
zulkarnain shah
2
Dépendance du module ass trouvé, mais j'ai eu la boîte de dialogue "Choisir les modules \ nSélectionnez les modules dont le module actuel devrait dépendre: \ nRien à afficher \ n [Ok] [Annuler]". Impossible de sélectionner la bibliothèque téléchargée.
David162795
1
J'ai ajouté une bibliothèque externe de cette façon et j'ai obtenu une erreur "Impossible de résoudre la dépendance pour ': app @ buildTypeUnitTest / compileClasspath': Impossible de résoudre le projet: zip_file." Le code généré dans la dépendance est `projet d'implémentation (': zip_file')`. J'utilise également 'com.android.tools.build:gradle:3.2.0-rc03' et https \: //services.gradle.org/distributions/gradle-4.6-all.zip
Nikola
209

Essayez l'une de ces approches:

Approche 1)

1- Choisissez la vue du projet

entrez la description de l'image ici

2- Copiez votre fichier JAR dans l'application -> dossier lib

entrez la description de l'image ici

3- Faites un clic droit sur votre fichier JAR et choisissez ajouter comme bibliothèque

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

4- Vérifiez-le dans build.gradle

entrez la description de l'image ici


Approche 2)

1- Fichier -> Nouveau -> Nouveau module

entrez la description de l'image ici

2- Importer le package .JAR / .AAR

entrez la description de l'image ici

3- Parcourez votre fichier JAR

entrez la description de l'image ici

4- Terminer

5- Fichier -> Structure du projet -> Dépendances

entrez la description de l'image ici

6- Vous devez cliquer sur le bouton + puis cliquer sur Dépendance du module

entrez la description de l'image ici

7- Vous verrez votre bibliothèque ici

entrez la description de l'image ici

8- Choisissez votre bibliothèque et cliquez sur OK

entrez la description de l'image ici

9- Ensuite, vous verrez que votre bibliothèque est ajoutée.

entrez la description de l'image ici


Pour les deux premières approches, vous avez besoin d'un fichier JAR. Vous pouvez rechercher http://search.maven.org/ pour trouver des fichiers JAR liés à Android. Par exemple, voici le résultat de la recherche pour jdom dans ce lien

Résultat de la recherche pour jdom


Approche 3) Android utilise http://jcenter.bintray.com/ comme bibliothèque distante. Par exemple, c'est le résultat de la recherche pour jdom dans le lien.

jcenter jdom

Pour ajouter une bibliothèque dans cette approche, procédez comme suit:

1- Fichier -> Structure du projet -> Dépendances

entrez la description de l'image ici

2- Cliquez sur le bouton + et choisissez la dépendance de la bibliothèque

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

3- trouvez votre bibliothèque et sélectionnez-la, puis cliquez sur OK.


J'espère que cela aide.

Mohammad
la source
13
Meilleure réponse dans tous les débordements de pile
mizerablebr
1
Je suis heureux que vous trouviez ma réponse utile. J'apprécie vraiment vos commentaires.
Mohammad
1
Approche 2 fonctionne pour moi. Merci pour les illustrations :)
Hichem Acher
1
Vous êtes le bienvenu. Je suis heureux que cet article vous ait aidé.
Mohammad
1
Je n'obtiens pas l'option Ajouter en tant que bibliothèque à l'étape 3 dans mon Android Studio 3.0.1
Shylendra Madda
28

Pour référencer un projet de lib externe sans copie, faites simplement ceci: - Insérez ces 2 lignes sur setting.gradle:

  include ':your-lib-name'
  project(':your-lib-name').projectDir = new File('/path-to-your-lib/your-lib-name)

Insérez cette ligne sur la partie dépendances du build.gradlefichier:

compile project(':your-lib-name')

Projet de synchronisation

Pedro Santos
la source
1
Excellente réponse, crée un lien vers la bibliothèque d'origine, de sorte que vous n'ayez pas à réimporter chaque fois que le code de la bibliothèque a changé!
diman
21

Il existe deux méthodes simples si l'une ne fonctionne pas, veuillez essayer l'autre.

  1. Ajoutez la dépendance de la bibliothèque dans la dépendance à l'intérieur du build.gradlefichier de la bibliothèque que vous utilisez et collez votre bibliothèque dans les bibliothèques externes.

OU

  1. Il suffit d' aller à votre libsdossier dans le appdossier et collez tous vos .jarex bibliothèque fichiers là, Maintenant , le truc est que passer maintenant à l' intérieur ici settings.gradlefichier maintenant ajouter cette ligne include ':app:libs'après include ':app'il va certainement travailler.
Sudhanshu Gaur
la source
19

Une autre façon d'importer cette bibliothèque? Je peux simplement copier-coller le code source dans ma source ou en créer un JAR?

Étapes complètes pour importer une bibliothèque dans Android Studio 1.1

  1. Aller au fichier -> Module d'importation.
  2. Répertoire source -> Parcourir le chemin du projet.
  3. Spécifiez le nom du module
  4. Ouvrez le fichier build.gradle (Module: app)
  5. Ajoutez la ligne suivante avec le nom de votre module

    compiler le projet (': nom_projet_interne')

Tiré de: comment ajouter une bibliothèque dans Android Studio

Sachez le
la source
8

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 la structure de vos 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. Faites un clic 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 à 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
dans mon cas, lors de l'utilisation de la première approche, je n'ai pas vu l'option ajouter comme bibliothèque dans la liste ... mais la deuxième option a fonctionné pour moi. Mais ma question est de savoir pourquoi l'option Ajouter comme bibliothèque n'a pas été affichée dans mon cas
Abdul Waheed
Très utile Merci! Remarque: Après la mise à jour d'Android Studio, le bouton "Ajouter en tant que bibliothèque" ne se trouve plus en bas de la liste. Il est maintenant environ 5e à partir du bas.
JFreeman
8

J'avais également fait face à ce problème. Ces fois, j'ai suivi quelques étapes comme:

  1. File> New> Import module> select your library_project. Puis include 'library_project'sera ajouté dans le settings.gradlefichier.

  2. File> Project Structure> App> Dependencies Tab> select library_project. Si ce library_projectn'est pas le cas , cliquez sur le +bouton puis sélectionnez votre library_project.

  3. Nettoyez et construisez votre projet. Les lignes suivantes seront ajoutées dans votre module d'application build.gradle( indice: ce n'est pas celui où classpathest défini ).

 dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile project(':library_project')
 }
  1. Si ces lignes ne sont pas présentes, vous devez les ajouter manuellement et nettoyer et reconstruire à nouveau votre projet ( Ctrl + F9).

  2. Un dossier nommé library_projectsera créé dans le dossier de votre application.

  3. Si une erreur de fusion d'icône ou de tâche est créée, accédez au AndroidManifestfichier et ajoutez<application tools:replace="icon,label,theme">

Ratna Halder
la source
7

Trois façons dans Android Studio pour ajouter une bibliothèque externe.

  1. si vous souhaitez ajouter une dépendance de projet de bibliothèque dans votre projet:

    A. Dans le menu Fichier, cliquez sur nouveau et choisissez le module d'importation, choisissez le chemin de votre projet de bibliothèque et cliquez sur OK, le projet de bibliothèque s'ajoute automatiquement à votre projet de studio Android.

    B. Maintenant, ouvrez votre fichier gradle de module principal (comme l'application) et ajoutez une dépendance de projet dans les dépendances de section de dépendance {

    compiler le projet (': nom du projet de la bibliothèque')

  2. si vous voulez ajouter un fichier jar: A. ajoutez un fichier jar dans le dossier libs. B. Et ajouter une dépendance

    compile fileTree (dir: 'libs', include: '* .jar') // ajoutez tous les fichiers jar du dossier libs, si vous voulez ajouter des fichiers jar particuliers à partir des bibliothèques, ajoutez la dépendance ci-dessous.

    compiler les fichiers ('libs / abc.jar')

  3. Ajouter une dépendance à partir de l'URL (recommandé). comme

    compilez 'com.mcxiaoke.volley: library-aar: 1.0.0'

vinod
la source
salut vinod, pouvez-vous s'il vous plaît expliquer comment ajouter la dépendance avec l'URL? En outre, peut-il s'agir d'une URL git qui, si elle subit une modification, est importée directement dans mon projet? Je suis un peu nouveau dans ce développement, alors s'il vous plaît, patientez avec moi si c'est une question simple :)
Katakam Nikhil
Salut Nikhil s'il vous plaît lire l'article lié aux dépendances Android que je mentionne developer.android.com/studio/build/dependencies.html
vinod
6

Pour la manière la plus simple, suivez ces étapes

  1. Aller à File-> New-> Import Module->choose library or project folder

  2. Ajouter une bibliothèque pour inclure une section dans le fichier settings.gradle et synchroniser le projet (après cela, vous pouvez voir qu'un nouveau dossier avec le nom de la bibliothèque est ajouté dans la structure du projet)

    include ':mylibraryName'

  3. Allez dans Fichier -> Structure du projet -> application -> onglet dépendance -> cliquez sur le bouton plus

  4. Sélectionnez la dépendance du module -> sélectionnez la bibliothèque (le nom de votre bibliothèque doit y apparaître) et mettez la portée (compilation ou implémentation)

  5. Ajoutez cette ligne dans build.gradle dans le module au niveau de l'application dans la section des dépendances

    implementation project(':mylibraryName')

kunal khedkar
la source
3

Si la bibliothèque dont vous avez besoin est sur GitHub, alors l'ajouter à Android Studio est facile avec JitPack .

Étape 1. Ajoutez le référentiel jitpack à build.gradle:

allprojects { 
  repositories {
    jcenter()
    maven { url "https://jitpack.io" }
  }
}

Étape 2. Ajoutez le référentiel GitHub en tant que dépendance:

dependencies {
    // ...
    compile 'com.github.Username:LibraryRepo:ReleaseTag'
}

JitPack agit comme un référentiel maven et peut être utilisé un peu comme Maven Central. La bonne chose est que les responsables n'ont pas à télécharger la bibliothèque. Dans les coulisses, JitPack vérifiera le code de GitHub et le compilera. Par conséquent, pour que cela fonctionne, il doit y avoir un fichier de construction fonctionnel dans le référentiel git.

Il existe également un guide sur la façon de publier une bibliothèque Android.

Andrejs
la source
Cela ne va-t-il pas stocker les fichiers de dépendance dans l'arborescence du projet?
user7860670 le
2

Android studio n'utilise pas Maven, il utilise Gradle, vous pouvez ouvrir votre build.gradleroute devrait être: /app/build.gradleet ajouter la dépendance Gradle qui s'affiche sur le dépôt:

Le build.gradlea une dependenciessection:

dependencies {
    //here add your dependency
}

Le dépôt indique que vous devez ajouter cette dépendance:

compile 'com.foursquare:foursquare-android-oauth:1.0.3'

ajoutez seulement cette ligne à votre dependenciessur buil.gradle, enregistrez le fichier et Android reconstruira le projet, c'est tout

Carlos Herrera Plata
la source
1
1.Goto File -> New -> Import Module
   2.Source Directory -> Browse the project path.
   3.Specify the Module Name  it is used for internal project reference.

Ouvrez le fichier build.gradle (Module: app).

 implementation project(':library')
Soumen Das
la source
1

Transformez n'importe quel projet github en une implémentation de gradle sur une seule ligne avec ce site Web

https://jitpack.io/

Exemple, j'avais besoin de ce projet: https://github.com/mik3y/usb-serial-for-android

Tout ce que j'ai fait, c'est coller ceci dans mon fichier gradle:

implementation 'com.github.mik3y:usb-serial-for-android:master-SNAPSHOT'
cagney
la source
Tu m'as sauvé! :). Merci, merci beaucoup. C'est si facile avec le truc que tu as dit! : J'ai lutté pendant près de 4 heures, avant de voir ta réponse! :)
Victor
0

J'ai eu le même problème. Cela s'est produit en raison de la dépendance de la bibliothèque principale. J'utilisais javax. *. C'est ce que j'ai fait pour réparer

Dans File-> Project Structure-> Dependencies, j'ai ajouté ceci comme un fichier fourni, pas une compilation. Puis reconstruisez le projet.

Ce problème a commencé après la mise à niveau du studio Android. Mais je pense que cela se produit lorsque vous essayez de modifier manuellement vos fichiers.

sudheer
la source
0

Ajout d'une bibliothèque dans Android Studio 2.1

Just Go to project -> then it has some android,package ,test ,project view

Changez-le simplement en vue Projet

sous le, app->lib foldervous pouvez directement copier-coller la bibliothèque et la synchroniser avec Android. C'est tout

Vinayak Shedgeri
la source
Copier-coller la bibliothèque? C'est une URL vers un repo github
Odys
0

1) Obtenez juste votre lib d'ici http://search.maven.org/

2) Créez un dossier libs dans le répertoire de l'application

3) collez-y votre bibliothèque

4) faites un clic droit sur votre bibliothèque et cliquez sur "Ajouter comme bibliothèque"

5) c'est tout ce que vous devez faire!

J'espère que cela va certainement vous aider !!!!

Aditya Kumar
la source
0

Il y a quelques changements dans la nouvelle gradle 4.1

au lieu de compiler, nous devrions utiliser l' implémentation

implémentation 'com.android.support:appcompat-v7:26.0.0'

Vahe Gharibyan
la source
-1
  1. Dans la section référentiels de build.gradle du projet, ajoutez ce qui suit:
flatDir { dirs 'aars' } 
  1. Dans votre section dépendances de build.gradle, ajoutez ce qui suit:

compilez '[identifiant de groupe]: [identifiant d'artefact]: [version] @aar'

en remplaçant [group id] etc par les divers attributs de la lib

  1. créer un sous-répertoire aarssous votre répertoire de projet

  2. Copiez le [youlibrary].aardans le sous-répertoire créé en 3. ci-dessus.

  3. Construisez et profitez!

Ed Manners
la source
-2

ÉTAPES SIMPLES POUR AJOUTER TOUTE BIBLIOTHÈQUE DANS ANDROID STUDIO:

  1. Copiez le fichier en question à partir de n'importe quel dossier de votre ordinateur (par exemple C: /documents/xyz.jar "), puis allez dans Android Studio et cliquez avec le bouton droit sur le dossier Bibliothèque de projets et sélectionnez Coller.

  2. Maintenant, faites un clic droit sur le fichier de bibliothèque nouvellement ajouté et sélectionnez l'option "ajouter en tant que bibliothèque"

TERMINÉ

John Yepthomi
la source