web-dev-qa-db-fra.com

Comment inclure une dépendance de module de bibliothèque dans un projet Android Studio?

Je migre un projet d'Eclipse vers AndroidStudio. J'ai un projet utilisé comme bibliothèque dans ce projet. Cette bibliothèque est appelée PullToRefresh.

J'ai essayé de nombreuses façons d'importer ce projet dans AS, mais tout ce que j'essaie fonctionne.

Dans mon projet, j'ai cette structure de dossiers:

Project Root
+-- app
|   +-- builds
|   +-- libs
|   |   +-- PullToRefresh (my lib project)
|   +-- src
|   |   +-- main (Java code and resources)

Dans le build.gradle, j'ai essayé de faire ceci:

dependencies {
    compile project(":libs:PullToRefresh")
}

Mais je reçois ce message d'erreur:

Gradle 'my_project' project refresh failed: Project with path ':libs:PullToRefresh'
could not be found in project ':app'
13
androidevil

Android Studio fonctionne sur le concept project-modules, tous vos modules doivent être dans un répertoire racine (votre répertoire de projet). Un module peut dépendre d'autres modules. Vos bibliothèques sont considérées comme des modules différents sous un même projet et votre module principal (application dans votre cas) en dépend.

Modifiez un peu la structure de votre projet:

Project Root
+-- libs
    +-- PullToRefresh (my lib project)
+-- app
|   +-- builds
|   +-- src
|   |   +-- main (Java code and resources)
    +-- .....
+--settings.gradle

Incluez cette ligne dans votre settings.gradle

include ':libs:PullToRefresh'

Votre build.gradle semble bien. Je vous suggère de changer le nom de votre répertoire de bibliothèques en bibliothèque car utilisez les bibliothèques pour votre dépendance jar et non pour les dépendances de module.

et conservez-le dans le fichier build.gradle de votre module principal:

dependencies {
    compile project(":libs:PullToRefresh")
}
40
pyus13

Dans le menu "Aide", recherchez "module d'importation", puis un assistant apparaîtra!

6
AlinaBM