Comment ajouter un projet de bibliothèque à Android Studio?
comment ajouter un projet de bibliothèque (tel que Sherlock ABS) à Android Studio ?
(pas à L'ancien bundle basé sur ADT Eclipse, mais au nouveau Android Studio .)
30 réponses
mise à jour pour Android Studio 1.0
depuis la sortie D'Android Studio 1.0 (et de nombreuses versions entre v1.0 et l'une des premières depuis ma réponse précédente), certaines choses ont changé.
ma description est axée sur l'ajout d'un projet de bibliothèque externe à la main via des fichiers Gradle (pour une meilleure compréhension du processus). Si vous voulez ajouter une bibliothèque via Android Studio creator il suffit de vérifier la réponse ci-dessous avec visual guide (il y a quelques différences entre Android Studio 1.0 et ceux des captures d'écran, mais le processus est très similaire).
avant de commencer à ajouter une bibliothèque à votre projet à la main, envisagez d'ajouter la dépendance externe. Ça ne va pas affecter la structure de votre projet. Presque toutes les bibliothèques Android bien connues sont disponibles dans un dépôt Maven et son installation ne prend qu'une ligne de code dans le app/build.gradle
fichier:
dependencies {
compile 'com.jakewharton:butterknife:6.0.0'
}
ajout de la bibliothèque
voici le processus complet d'ajout de bibliothèque Android externe à notre projet:
- créer un nouveau projet via Android Studio creator. Je l'ai appelé HelloWorld .
- Voici la structure originale du projet créé par Android Studio:
HelloWorld/ app/ - build.gradle // local Gradle configuration (for app only) ... - build.gradle // Global Gradle configuration (for whole project) - settings.gradle - gradle.properties ...
- dans le répertoire racine (
HelloWorld/
), créez un nouveau dossier:/libs
dans lequel nous placerons nos bibliothèques externes (cette étape n'est pas nécessaire - seulement pour garder une structure de projet plus propre). - collez votre bibliothèque dans le nouveau dossier
/libs
. Dans cet exemple, j'ai utilisé PagerSlidingTabStrip library (il suffit de télécharger ZIP à partir de GitHub, renommer le répertoire de la bibliothèque à "PagerSlidingTabStrip" et copiez-le). Voici la nouvelle structure de notre projet:
HelloWorld/ app/ - build.gradle // Local Gradle configuration (for app only) ... libs/ PagerSlidingTabStrip/ - build.gradle // Local Gradle configuration (for library only) - build.gradle // Global Gradle configuration (for whole project) - settings.gradle - gradle.properties ...
-
Modifier les paramètres.Grad en ajoutant votre bibliothèque à
include
. Si vous utilisez un chemin personnalisé comme je l'ai fait, vous devez aussi définir le répertoire de projet pour notre bibliothèque. Un ensemble de paramètres.gradle devrait ressembler à ci-dessous:include ':app', ':PagerSlidingTabStrip' project(':PagerSlidingTabStrip').projectDir = new File('libs/PagerSlidingTabStrip')
5.1 si vous faites face à Erreur" default Configuration", puis essayez ceci à la place de l'étape 5,
include ':app'
include ':libs:PagerSlidingTabStrip'
-
Dans
app/build.gradle
ajouter notre projet de bibliothèque comme une dépendance:dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.3' compile project(":PagerSlidingTabStrip") }
6.1. Si vous avez suivi l'étape 5.1, alors suivez cette au lieu de 6,
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile project(":libs:PagerSlidingTabStrip")
}
-
si votre projet de bibliothèque n'a pas de fichier
build.gradle
vous devez le créer manuellement. Voici exemple de ce fichier:apply plugin: 'com.android.library' dependencies { compile 'com.android.support:support-v4:21.0.3' } android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { minSdkVersion 14 targetSdkVersion 21 } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] res.srcDirs = ['res'] } } }
-
en outre, vous pouvez créer une configuration globale pour votre projet qui contiendra des versions SDK et des versions d'outils de construction pour chaque module afin de maintenir la cohérence. Il suffit de modifier
gradle.properties
fichier et ajouter des lignes:ANDROID_BUILD_MIN_SDK_VERSION=14 ANDROID_BUILD_TARGET_SDK_VERSION=21 ANDROID_BUILD_TOOLS_VERSION=21.1.3 ANDROID_BUILD_SDK_VERSION=21
Maintenant vous pouvez l'utiliser dans vos fichiers
build.gradle
(dans les modules app et libraries) comme ci-dessous://... android { compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION) buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION defaultConfig { minSdkVersion Integer.parseInt(project.ANDROID_BUILD_MIN_SDK_VERSION) targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION) } } //...
-
C'est tout. Il suffit de cliquer sur 'Synchroniser le projet avec L'icône Grad' . Votre bibliothèque devrait être disponible dans votre projet.
Google I / O 2013 - le nouveau système de construction SDK Android est une excellente présentation sur la construction d'applications Android avec le système de construction Gradle: comme Xavier Ducrohet dit:
Android Studio est tout sur le montage, le débogage et le profilage. Il n'est pas sur la construction de plus.
au début, il peut être un peu confus (en particulier pour ceux qui travaille avec Eclipse et n'ont jamais vu la fourmi - comme moi;)), mais à la fin Gradle nous donne de grandes occasions et il vaut la peine d'apprendre ce système de construction.
voici le guide visuel:
mise à jour pour Android Studio 0.8.2:
dans Android Studio 0.8.2, allez à structure du projet - > sous Modules appuyez simplement sur le bouton plus et sélectionnez importer projet existant et importer actionbarsherlock
. Synchronisez vos fichiers Grad.
si vous faites face à l'erreur
Erreur: Le SDK de Construire des Outils de révision (xx.x.x) est trop faible. Minimum requis est aa.Y. y
il suffit d'ouvrir le fichier build.gradle
dans le répertoire actionbarsherlock
et de mettre à jour le buildToolsVersion
à celui suggéré.
android {
compileSdkVersion 19
buildToolsVersion 'yy.y.y'
Menu Fichier - > Structure Du Projet... :
Module - > Module D'Importation
après l'importation du module de bibliothèque, sélectionnez votre module de projet et ajouter la dépendance:
et ensuite sélectionner le module importé :
Utiliser le menu Fichier -> Structure de Projet -> Modules .
j'ai commencé à l'utiliser aujourd'hui. C'est un peu différent.
pour Sherlock, peut-être que vous voulez supprimer leur répertoire de test, ou ajouter le fichier junit.jar
à classpath.
pour importer la bibliothèque en utilisant gradle, vous pouvez avoir à l'ajouter à la section dependencies
de votre build.gradle
(le module 1).
E. G.
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.1.0'
compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
}
Android Studio change.
il existe une section appelée "ouvrir les paramètres du module" si vous cliquez avec le bouton droit de la souris sur un dossier de module dans la section Projet D'Android Studio (j'utilise la version 0.2.10).
je considérerais dépendances, bibliothèques Android et multi-projet setup lecture nécessaire. Veuillez prendre quelques minutes pour le faire.
en particulier, dans le cas d'un projet de bibliothèque non jar, lire l'extrait suivant d'en haut source:
les projets Gradle peuvent également dépendre d'autres projets gradle en utilisant une configuration multi-projets. Une configuration multi-projets fonctionne généralement en ayant tous les projets comme les sous-dossiers d'un projet de racine.
par exemple, donnée à la structure suivante:
MyProject/
+ app/
+ libraries/
+ lib1/
+ lib2/
nous pouvons identifier 3 projets. Grad le référencera avec le nom suivant:
:app
:libraries:lib1
:libraries:lib2
chaque projet aura sa propre construction.gradle déclarant la façon dont il est construit. En outre, il y aura un fichier appelé paramètres.gradle à la racine de déclarer projet. Cela donne la structure suivante:
MyProject/
| settings.gradle
+ app/
| build.gradle
+ libraries/
+ lib1/
| build.gradle
+ lib2/
| build.gradle
le contenu des paramètres.gradle est très simple:
include ':app', ':libraries:lib1', ':libraries:lib2'
cela définit quel dossier est en fait un projet Grad.
le projet: app est susceptible de dépendre des bibliothèques, et ceci est fait en déclarant les dépendances suivantes:
dependencies {
compile project(':libraries:lib1')
}
Veuillez noter qu'il y avait peu ou pas d'utilisation de gui Android Studio pour faire cela.
j'utilise actuellement git submodules pour relier la bibliothèque imbriquée à la bibliothèque actuelle git repo pour éviter un désordre de dépendance.
je viens de trouver un moyen plus facile (plutôt que d'écrire directement dans le .gradle fichiers).
C'est pour Android Studio 1.1.0.
-
Menu Fichier - > Nouveau Module... :
cliquez sur"Importer un projet existant".
-
sélectionnez la bibliothèque désirée et le module souhaité.
-
Cliquez sur terminer. Android Studio importera la bibliothèque dans votre projet. Il synchronisera les fichiers Grad.
-
ajoutez le module importé aux dépendances de votre projet.
clic droit sur le dossier app -> Ouvrir les paramètres du Module -> aller à l'onglet Dépendances -> cliquer sur le bouton ' + ' - > cliquer sur la dépendance du Module.
le module Bibliothèque sera alors ajouté aux dépendances du projet.
-
???
-
à but Lucratif
la façon la plus facile que j'ai trouvé pour inclure le projet de bibliothèque externe est (par exemple pour inclure une bibliothèque Facebook qui est stocké un répertoire dans le dossier des dépendances):
-
dans les paramètres.ajouter
include ':facebook' project(':facebook').projectDir = new File(settingsDir, '../dependencies/FacebookSDK')
-
Dans la construction.section des dépendances de Grad, ajouter
compile project ('facebook')
il ne reste plus qu'à synchroniser le projet avec les fichiers Grad.
une façon simple d'ajouter un fichier JAR comme une bibliothèque à votre projet Android Studio:
a) Copiez votre *.les fichiers jar
B) coller dans le répertoire libs sous vos projets:
c) Ajouter pour construire.gradle:
dependencies {
...
compile files('libs/ScanAPIAndroid.jar', 'libs/ScanAPIFactoryAndroid.jar', .., ..)
}
b) Si votre projet à partir de l'exemple com.exemple.Mon projet et les bibliothèques COM.exemple.ScanAPI a le même namespace com.exemple , Android Studio vérifiera votre Construction et créera toutes les modifications nécessaires dans votre projet. Après cela, vous pouvez revoir ces paramètres dans le menu fichier - > Structure du projet .
c) si votre projet et les bibliothèques ont un espace de nom différent vous devez cliquer avec le bouton droit de la souris sur la bibliothèque et sélectionner l'option "Ajouter comme bibliothèque" et sélectionner le type que vous avez besoin d'.
rappelez-vous que l'option" structure du projet "ne fait pas de changements automatiques dans" build.gradle" dans la version actuelle D'Android Studio (0.2.3). Peut-être que cette fonctionnalité sera disponible dans les prochaines versions.
Option 1: déposer des fichiers dans le répertoire libs/du projet
à La construire.le fichier gradle sera alors mis à jour automatiquement.
Option 2: Modifier build.fichier gradle manuellement
ouvrez votre build.grader le fichier et ajouter une nouvelle règle de compilation à la fermeture des dépendances. Par exemple, si vous souhaitez ajouter Google Play Services, la section dépendances de votre projet ressemblerait à quelque chose comme ceci:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android.gms:play-services:6.5.+'
}
Option 3: Utiliser L'Interface utilisateur D'Android Studio
dans le panneau du projet, contrôle + cliquez sur le module auquel vous voulez ajouter la dépendance et sélectionnez Ouvrir les paramètres du Module.
sélectionnez L'onglet Dépendances, suivi du bouton + dans le coin inférieur gauche. Vous pouvez choisir parmi la liste suivante d'options:
- Bibliothèque Dépendance "1519220920 Fichier" Dépendance "1519220920 Module" Dépendance
vous pouvez alors entrer plus d'informations sur la dépendance que vous voulez ajouter à votre projet. Par exemple, si vous choisissez Library Dependency, Android Studio affiche une liste de bibliothèques parmi lesquelles vous pouvez choisir.
une fois que vous avez ajouté votre dépendance, vérifiez votre construction au niveau du module.dossier gradle. Il doit automatiquement mis à jour inclure la nouvelle dépendance.
C'est comme ça que ça marche pour moi dans Android Studio 1.5+
dans le projet où vous voulez ajouter projet de bibliothèque externe, aller au menu fichier -> Nouveau -> *importer nouveau Module**, naviguer vers le projet de bibliothèque que vous souhaitez ajouter à votre projet, sélectionnez pour ajouter le module "bibliothèque" dans votre projet. Vous obtiendrez les paramètres .gradle dans vos projets, à côté de l'application, inclus bibliothèque, quelque chose comme ceci:
include ':app', ':library'
ajouter dans construire.gradle (Module: app) dans la section dépendances:
compiler project (': library')
Reconstruire le projet, et c'est tout.
*Vous pouvez ajouter autant de bibliothèques (modules) que vous le souhaitez. Dans ce cas, les paramètres par défaut.Grad vous aurez:
include ':app', ':lib1', ':lib2', ...
et construire.gradle, vous aurez besoin de:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
// Some other dependencies...
compile project(':lib1')
compile project(':lib2')
...
}
si vous avez besoin d'accéder aux ressources d'un projet de bibliothèque (comme vous le faites avec ABS) assurez-vous d'ajouter le projet/module de bibliothèque comme une" dépendance de Module "au lieu d'une"bibliothèque".
- Appuyez sur F4 pour montrer 151940920" Structure de Projet , cliquez sur les bibliothèques ou les bibliothèques Mondiales, et cliquez sur + pour ajouter le fichier JAR.
- cliquez sur Modules ce que vous voulez ajouter jar, sélectionnez L'onglet dépendances , cliquez sur + , et ajoutez Bibliothèque.
, Vous pouvez le faire facilement. Aller au menu fichier -> Nouveau -> module D'importation... :
parcourez le répertoire qui contient le module. Cliquez Sur Terminer:
passer à structure du projet et ajouter dépendance du Module :
Note: Si vous recevez une erreur SDK, mettez celle-ci à jour.
pour ajouter à la réponse: si L'IDE ne montre aucune erreur, mais que vous essayez de compiler, vous obtenez quelque chose comme:
No resource found that matches the given name 'Theme.Sherlock.Light'
Votre projet de bibliothèque est probablement compilé comme un projet d'application. Pour changer cela, allez à:
Menu fichier - > structure du projet - > facettes - > [nom de la bibliothèque] - > cochez "module Bibliothèque".
éditer les dépendances de bibliothèque à travers L'interface graphique n'est pas conseillé car cela n'écrit pas ces modifications à votre Compilation.dossier gradle. Votre projet ne sera donc pas construit à partir de la ligne de commande. On devrait éditer la compilation.Grad le fichier directement comme suit.
par exemple, donnée à la structure suivante:
MyProject /
- app /
- bibliothèques/
- lib1 /
- lib2 /
Nous pouvons identifier trois projets. Grad le référencera avec les noms suivants:
- : app
- : bibliothèques: lib1
- : bibliothèques: lib2
le projet: app est susceptible de dépendre des bibliothèques, et ceci est fait en déclarant les dépendances suivantes:
dependencies {
compile project(':libraries:lib1')
}
après avoir importé le Module ABS (à partir du fichier > Structure du projet) et en s'assurant qu'il a Android 2.2 et la bibliothèque de soutien v4 comme dépendances, je recevais toujours l'erreur suivante que vous @Alex
Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light.DarkActionBar'
j'ai ajouté le module nouvellement importé comme une dépendance à mon module app principal et cela a corrigé le problème.
First Way cela fonctionne pour MacBook.
sélectionnez D'abord votre constructeur.gradle fichier en tant que donnée de l'écran:
Ajouter des dépendances, comme sur l'écran sélectionné:
sélectionnez sync project.
si vous recevez un erreur comme "Project with path': signature-pad' ne pouvait pas être trouvé dans le projet': app'", alors s'il vous plaît utiliser la deuxième voie:
sélectionner le menu fichier - > Nouveau - > module D'importation... :
après avoir cliqué sur module D'importation ,
donner le chemin de la bibliothèque, comme mon MacBook chemin:
Cliquez sur Terminer . Maintenant, votre bibliothèque est ajoutée.
pour résoudre ce problème, vous avez juste besoin d'ajouter le chemin de ressources abs à votre dossier de construction de projet, juste comme ci-dessous:
sourceSets {
main {
res.srcDirs = ['src/main/res','../../ActionBarSherlock/actionbarsherlock/res']
}
}
donc, je compile à nouveau sans aucune erreur.
si vous avez Android Studio .0.4.0, vous pouvez créer un nouveau dossier dans votre chemin de compilation, YourApp/libraries
. Copiez le fichier JAR. Là, cliquez avec le bouton droit de la souris et"Ajouter comme bibliothèque". Maintenant tu as un popup. Sélectionnez simplement votre répertoire et appuyez sur OK, et c'est tout.
Android Studio 3.0
il suffit d'ajouter le nom de la bibliothèque au bloc de dépendances de la compilation de votre application.Grad file.
dependencies {
// ...
implementation 'com.example:some-library:1.0.0'
}
Notez que vous devez utiliser implementation
plutôt que compile
maintenant. C'est nouveau avec Android Studio 3.0. Voir cette Q&R pour une explication de la différence.
j'ai trouvé la solution. C'est tellement simple. Suivez froger_mcs instructions .
assurez-vous que vous faites du dossier src un dossier Source dans la Structure du projet - > Modules (Sources).
exemple d'ajout réussi d'une autre bibliothèque (PullToRefresh). Fonctionne aussi pour ABS libproject.
en gros, vous pouvez inclure vos fichiers JAR de trois façons différentes. La dernière est la bibliothèque distante qui utilise https://bintray.com / jcenter online repository. Mais, si vous le faites de l'une des deux autres façons, le fichier JAR sera physiquement inclus dans votre projet. S'il vous plaît lire ce lien https://stackoverflow.com/a/35369267/5475941 pour plus d'information. Dans ce post, j'ai expliqué comment importer votre fichier JAR dans Android studio et je explique toutes les façons possibles.
En résumé, si c'est comme cela (adresse locale), ils sont téléchargés et ces fichiers JAR sont physiquement dans le projet:
mais, s'il s'agit d'une adresse internet comme celle-ci, ce sont des bibliothèques distantes (bintray.com jcenter) et ils seront utilisés à distance:
j'espère que ça aidera.
ouvrez le fichier application du module Gradle et ajoutez votre dépendance. Si vous téléchargez la bibliothèque, il suffit d'importer et de construire aussi gradle.
sinon ajouter des dépôts dans l'application de module latéral gradle:
repositories {
maven { url 'http://clinker.47deg.com/nexus/content/groups/public' }
}
les premiers dépôts téléchargeront la bibliothèque pour vous.
et compiler la bibliothèque téléchargée:
compile ('com.fortysevendeg.swipelistview:swipelistview:1.0-SNAPSHOT@aar') {
transitive = true
}
si vous créez une bibliothèque, vous avez juste besoin d'importer le projet comme importer un nouveau module.
importe simplement le projet de bibliothèque Android comme un module et dans construire.Grad .
Appliquer le plugin: com.Android.bibliothèque'
après cela, suivez ces étapes:
- clic droit sur le Module et sélectionnez Ouvrir les paramètres du Module
- sélectionnez dépendances, cliquez sur + , sélectionnez dépendances de bibliothèque, et ajouter le module importé précédemment.
https://www.dropbox.com/s/1e3eteu3h0pmkf7/Android%20studio%20_doc.doc?dl=0 est le lien Dropbox sur la façon d'ajouter un fichier JAR et un projet de bibliothèque dans la dernière version D'Android Studio 1.0.1.
Veuillez vous reporter à la documentation fournie avec des captures d'écran. Il est très facile pour un nouvel utilisateur.
dans Android Studio, allez dans inside app folder, et ouvrez build.dossier gradle. Ici, vous verrez les dépendances{}. À l'intérieur, vous pouvez ajouter le projet de bibliothèque et synchroniser. Maintenant, après avoir synchronisé la bibliothèque, elle sera ajoutée à votre projet, et vous pourrez utiliser ses fonctions et ses classes dans votre projet.
Pour Android Studio:
cliquez sur Build.gradle (module: app) .
et Ajouter pour
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile files('libs/commons-io-2.4.jar')
}
et dans votre répertoire "app", créer un répertoire "libs". Ajouter le fichier monfichier.jar:
enfin, compiler les fichiers Gradle:
j'ai eu une cause différente du problème ainsi pour les gens:
repositories {
mavenCentral()
}
changer mavenCentral () en jcenter () et ajouter
allprojects {
repositories {
jcenter()
}
}
j'ai également rencontré le même problème puis j'ai fait des choses suivantes.
-
j'importe le projet de bibliothèque dans mon ANDRODSTUDIO IDE comme un module en utilisant le menu fichier - > module D'importation
menus -
puis je suis allé à mon module principal dans lequel je veux le projet de bibliothèque comme un projet dépendant
-
clic Droit sur le module principal (dans mon case son nom est app ) - > ouvrir le réglage du module - > aller dans l'onglet Dépendances - > cliquer sur le bouton + (vous l'obtiendrez du côté droit de la fenêtre) - > cliquer sur la dépendance du module - > sélectionner votre projet de bibliothèque dans la liste
appliquez les changements et cliquez sur le bouton OK .
ça a marché pour moi. J'espère que cela aidera les autres aussi.
en effet, au fur et à mesure que les versions changent, il en va de même pour l'interface utilisateur et les options disponibles sur le menu. Après avoir lu la plupart des réponses à ces questions, j'ai dû deviner ce qui fonctionnerait pour Android Studio 1.1.0 .
-
avec votre souris, sélectionnez le projet au niveau principal (c'est là qu'il affiche le nom de votre application).
-
clic droit, et sélectionnez les options du menu Nouveau Dossier, Du Dossier Des Actifs .
-
après avoir créé le dossier d'actifs, coller ou copier dedans, quel que soit le fichier JAR dont vous avez besoin pour votre bibliothèque.
-
dans le menu principal D'Android Studio (en haut de l'écran), sélectionnez fichier - > structure du projet .
-
sélectionnez ensuite le nom de votre projet et allez à Dépendances onglet.
-
cliquez sur le signe plus ( + ) en bas à gauche de la boîte de dialogue et sélectionnez dépendance de fichier.
-
ouvrez enfin le dossier des actifs récemment créés, sélectionnez les fichiers JAR que vous avez copiés, puis cliquez sur Appliquer et OK .
nettoyez et reconstruisez votre projet.