J'ai un répertoire/projet d'installation comme ceci:
C:\
_dev\
Projects\
Logger
MyProject
Logger est un projet de bibliothèque Android utilisant Gradle. MyProject est un projet de projet standard Android qui nécessite utiliser la bibliothèque Logger.
J'utilise Android Studio et j'ai essayé d'ajouter Logger aux bibliothèques externes. Bien que cela fonctionne pendant le développement, je reçois des messages indiquant que la classe n'est pas trouvée lors de la construction.
Je suis complètement nouveau dans Gradle, mais j'ai essayé ce qui suit dans mon build.gradle dans MyProject:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.Android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'Android'
repositories {
mavenCentral()
}
Android {
compileSdkVersion 18
buildToolsVersion "18.1.0"
defaultConfig {
minSdkVersion 16
targetSdkVersion 18
}
dependencies {
compile files("../Logger")
}
}
dependencies {
compile 'com.Android.support:gridlayout-v7:18.0.0'
compile 'com.Android.support:appcompat-v7:18.0.0'
}
Le moyen le plus simple est de créer MyProject
un multi projet avec le projet Logger
en tant que sous-projet.
settings.gradle
dans le répertoire MyProject
:
include ":logger"
project(":logger").projectDir = file("../logger")
Dans le build.gradle
de MyProject
vous pouvez maintenant référencer cette lib en tant que projet:
dependencies {
compile 'com.Android.support:gridlayout-v7:18.0.0'
compile 'com.Android.support:appcompat-v7:18.0.0'
compile project(":logger")
}
Android Studio 2.2.3:
Ajouter à settings.gradle.
include ':app', ':new_lib'
project(':new_lib').projectDir = new File('../new_lib/app')
Puis éditez votre structure de projet | Modules pour configurer les dépendances.
Essayez d’ajouter la dépendance à la section globale "Dépendances", et non à "Android> les dépendances". Au cours du développement, la configuration "Android" est utilisée, mais pas pour conditionner le runtime.
dependencies {
compile 'com.Android.support:gridlayout-v7:18.0.0'
compile 'com.Android.support:appcompat-v7:18.0.0'
compile files("../Logger")
}
Il peut également être intéressant d’envisager de configurer une configuration de niveaux pour plusieurs projets, avec un build.gradle et settings.gradle dans le répertoire parent partagé, comme ici: http://www.gradle.org/docs/ current/userguide/multi_project_builds.html