J'ai créé la bibliothèque Android en tant que module Android Studio. Ajouté comme dépendance à mon module racine. Pendant le codage, je peux importer n’importe quelle classe du paquet de la bibliothèque, mais pendant que j’essaie d’exécuter l’application, je reçois une erreur package some.mylibrary.project does not exist
.
build.gradle module racine
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.Android.tools.build:gradle:0.12.+'
}
}
apply plugin: 'com.Android.application'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile 'com.Android.support:appcompat-v7:20.+'
compile 'com.google.Android.gms:play-services:5.+'
compile project(':libraries:mylibrary')
}
Android {
compileSdkVersion 17
buildToolsVersion "20.0.0"
lintOptions {
disable 'InvalidPackage'
checkReleaseBuilds false
abortOnError false
}
***
}
build.gradle module de bibliothèque
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.Android.tools.build:gradle:0.12.+'
}
}
apply plugin: 'com.Android.application'
apply plugin: 'idea'
Android {
compileSdkVersion 17
buildToolsVersion "20.0.0"
*****
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
settings.gradle
include ':libraries:mylibrary'
P.S. Je dois mentionner que le projet a été exporté à partir d’Eclipse IDE, de sorte que la structure du projet est différente de celle par défaut.
Si vous avez un module de bibliothèque, il ne peut pas utiliser l'instruction apply plugin: 'com.Android.application'
dans la définition de module, sinon la construction échouera de manière silencieuse à mesure que vous voyez. utilisez apply plugin: 'com.Android.library'
à la place.
Un bogue a été enregistré pour demander que le système de construction échoue bruyamment au lieu de le faire en silence: https://code.google.com/p/Android/issues/detail?id=76725
Pour Android Studio 2.2.2
Oui, dans le module de bibliothèque, il ne peut pas utiliser l'instruction apply plugin: com.Android.application
dans la définition du module. Oui, utilisez apply plugin: com.Android.library
à la place. (toujours dans le module lib)
Mais alors vous devez faire ce qui suit:
Aussi, tout en nommant votre module lib, évitez les majuscules.
Dans l'application Build-Gradle, ajoutez cette ligne:
implementation project(":your_name_library_here")