823 votes

Comment puis-je ajouter un projet de bibliothèque à l’atelier Android ?

Comment puis-je ajouter un projet de bibliothèque (tels que Sherlock ABS) au Studio Android?

(Pas à un vieux forfait basé sur Eclipse ADT, mais pour le nouveau Studio Android).

727voto

froger_mcs Points 2516

C'est tout le processus de création de HelloWorld avec une bibliothèque externe (ActionBarSherlock dans ce cas):

  1. Créer un nouveau projet (HelloWorld dans mon cas)
  2. Maintenant, vous avez de la structure du fichier avec root dir "HelloWorld", et subdir "HelloWorld" (module nommé "HelloWorld - HelloWorld").
  3. Créer de nouveaux dir "bibliothèques" dans le répertoire racine (HelloWorld/bibliothèques après la création).
  4. Télécharger ActionBarSherlock, upack et copier le "actionbarsherlock" répertoire HelloWorld/bibliothèques (HelloWorld/bibliothèques/actionbarsherlock après cette opération).
  5. Maintenant, allez à la Structure du Projet (⌘ + ; sur mac).
  6. Aller vers les Modules et en ajouter de nouveaux en appuyant sur + et le module d'Importation
  7. Choisissez votre actionbarsherlock répertoire. Puis "suivant" "suivant" .... "terminer".
  8. Maintenant dans Actionbarsherlock module de supprimer android-support-bibliothèque (parce que c'est le deuxième exemplaire de cette bibliothèque, il sera la cause d'erreurs de génération).
  9. Dans HelloWorld-module HelloWorld ajouter un module de dépendance en cliquant sur "+" en bas du panneau. Et de choisir le Module de dépendance -> actionbarsherlock
  10. Maintenant, allez à Mondial des bibliothèques et de l'ajouter android-support-de la bibliothèque de HelloWorld/libs pour tous les projets (HelloWorld et actionbarsherlock). Merci pour ce que vous en avez un, la même bibliothèque de prise en charge dans tous les projets.

Et maintenant, votre IDE est bien configuré. Mais aussi, vous devez configurer Gradle séparément.

Dans le dossier racine ouvrir les paramètres.gradle et de la remplacer par:

include ":libraries:actionbarsherlock", ':HelloWorld'

Dans HelloWorld edition du dossier de construction.gradle par l'ajout d'une ligne dans les dépendances:

buildscript {
    repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4'
    }
}
apply plugin: 'android'

dependencies {
    compile files('libs/android-support-v4.jar')
    compile project(":libraries:actionbarsherlock")
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}

À la fin, vous devez créer une autre construction.gradle fichier dans /libriaries/actionbarsherlock/ répertoire. C'est la source:

buildscript {
    repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4'
    }
}
apply plugin: 'android-library'

dependencies {
    compile files(':HelloWorld/libs/android-support-v4.jar')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            res.srcDirs = ['res']
        }
    }
}

Pourquoi ce code? Vous pouvez trouver quelques bonnes réponses ici: http://tools.android.com/tech-docs/new-build-system/user-guide

Et maintenant, tout devrait fonctionner correctement.

Ici vous avez une excellente présentation sur la construction d'applications Android avec Système de Build Gradle - http://www.youtube.com/watch?v=LCJAgPkpmR0. Comme Xavier Ducrohet dit

Android Studio est tout au sujet de l'édition, et le débogage et le profilage. Il n'est pas sur la construction de plus.

Au début, il peut être peu déroutant (surtout pour ceux, qui travaille avec Eclipse et n'ont jamais vu la fourmi - comme moi;) ), mais à la fin Gradle nous donne des occasions et il la peine d'apprendre ce système de construction.

274voto

Sam Rad Points 4987

Voici le guide visuel pour les paresseux gars comme moi:

Mise à jour pour Android Studio 0.8.2:

Dans Android Studio 0.8.2, allez à la Structure de Projet > sous Modules appuyez simplement sur le bouton "plus" et sélectionnez Importer un Projet Existant et à l'importation actionbarsherlock. Puis de synchroniser votre Gradle fichiers.

Si vous rencontrez l'erreur suivante:

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 l' build.gradle fichier actionbarsherlock annuaire et mise à jour de l' buildToolsVersion à celle suggérée.

android {
  compileSdkVersion 19
  buildToolsVersion 'yy.y.y'

Android Studio 0.8.2


File > Project Structure

First

Module > Import Module

Second

Après avoir importé le module bibliothèque, sélectionnez votre module de projet et ajouter de la dépendance:

Third

Puis sélectionnez le module importé:

Forth

112voto

blackbelt Points 45840
File -> Project  Structure -> Modules

J'ai commencé à l'utiliser aujourd'hui. C'est un peu différent.

Pour Sherlock, peut-être que vous souhaitez supprimer leur répertoire de test, ou ajouter l' junit.jar le fichier dans le chemin.

Edit:

AndroidStudio est en train de changer.

Je découvre qu'il existe une section nommée "Ouvrir les paramètres du module" si vous cliquez-droit sur un dossier du module dans la section projet de android studio (j'utilise la version 0.2.10)

merci @gipi pour le commentaire ci-dessous

52voto

Jonathan Lin Points 2498

Je considère Dépendances, Android Bibliothèques et Multi-projet d'installation nécessaire à la lecture. Veuillez prendre quelques minutes pour le faire.

En particulier, dans le cas d'un non-jar projet de bibliothèque, lire le fragment de code suivant à partir de ci-dessus source:

Gradle projets peuvent aussi compter sur d'autres gradle projets à l'aide d'un multi-projet d'installation. Un multi-projet d'installation fonctionne généralement par avoir tous les projets que les sous-dossiers d'un projet de racine.

Par exemple, compte tenu de la structure suivante:

MyProject/
 + app/
 + libraries/
    + lib1/
    + lib2/

Nous pouvons identifier 3 projets. Gradle référence avec le nom suivant:

:app
:libraries:lib1
:libraries:lib2

Chacun des projets aura sa propre construction.gradle déclarant la façon dont il est construit. En outre, il y aura un fichier appelé les paramètres.gradle à la racine de déclarer les projets. 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'

Ceci définit le dossier qui est en fait un projet Gradle.

L' :projet d'application est susceptible de dépendre sur les bibliothèques, et ceci est fait en déclarant les dépendances suivantes:

dependencies {
    compile project(':libraries:lib1')
}

Veuillez noter qu'il n'y a peu ou pas d'utilisation d'Android Studio GUI pour ce faire.

Je suis actuellement en utilisant submodules de lien imbriquée de la bibliothèque à la bibliothèque réelle repo git pour éviter une dépendance mess.

15voto

Eugene Bosikov Points 216

Moyen Simple d'ajouter des fichiers JAR, de la bibliothèque sur votre Android Studio de projet:

a) Copie de votre *.les fichiers jar

b) Coller dans le répertoire libs sous vos projets

enter image description here

c) Ajouter à construire.gradle

dependencies {
    ...
    compile files('libs/ScanAPIAndroid.jar', 'libs/ScanAPIFactoryAndroid.jar', .., ..)
}

b) SI Votre projet à partir de l'exemple com.exemple.MYProject et les bibliothèques com.exemple.ScanAPI a le même espace de noms com.exemple: Android studio va vérifier votre bâtir et créer toutes les modifications nécessaires dans votre projet. Après que vous pouvez consulter ces paramètres dans le Fichier->Structure de Projet

c) SI Votre projet et des bibliothèques a autre espace de noms que vous avez à RigthClick de la bibliothèque et sélectionnez l'OPTION "Ajouter de la Bibliothèque" et sélectionnez le type que vous avez besoin.

Rappelez-vous "la structure du Projet" l'option n'est pas faire n'importe automatique des changements dans la construire".gradle" la version actuelle d'Android studio (0.2.3) peut-être que cette fonctionnalité sera disponible dans les prochaines versions.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X