Edit: Pas plus vrai, avec Android Gradle Plugin 3.x. Les bibliothèques publient également les artefacts debug
et release
. Si le projet a des saveurs ou des types personnalisés, ceux-ci sont également créés. Et à travers les modules, il essaie de faire correspondre automatiquement les variantes. Si ce n'est pas le cas, vous devez fournir matchingFallback
pour faire correspondre les variantes entre les modules. Plus d'informations peuvent être trouvées ici: https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html#resolve_matching_errors
modules de la bibliothèque Android publie seul type de construction "release". Ils n'ont pas de type de construction "debug". Même votre module d'application construit la version de débogage, il utilisera la version de la bibliothèque.
Vous pouvez activer « debug » construire le type de la dépendance des bibliothèques en utilisant ce qui suit dans build.gradle
de votre module fichier:
android {
publishNonDefault true
...
}
Ensuite, lorsque vous utilisez cette dépendance dans l'autre module, vous devez utiliser comme ceci: J'utilise le même tour dans mon application. J'ai un module partagé et j'utilise la version de débogage du module. Consultez les détails ici:
https://github.com/pomopomo/WearPomodoro/blob/develop/mobile/build.gradle#L90
Je suis aussi confus à ce sujet. Vous n'êtes pas arrivé à obtenir cette réponse maintenant (vu que c'était il y a plus d'un an)? Si je construis plusieurs des modules eux-mêmes, comme dans: Modulea: assembleDebug,: moduleB: assembleDebug la seule tâche liée à la libération est preReleaseBuild (qui, pour une raison quelconque, fait partie de assembleDebug ce qui devrait être normal), mais quand je fais: Modulex : assembleDebug (qui dépend du moduleA/B) beaucoup de tâches de release sont appelées, comme vous l'avez expérimenté. La raison pour laquelle je m'en soucie est parce que cela semble rendre buildTypes {release {runProguard vrai étant utilisé ce que je ne veux pas pour la construction de débogage. – riper
Oui, n'a jamais eu une réponse :) – Guy
cela se produit pour tout fichier de construction (dire la création d'un nouveau projet vierge dans Android Studio) ou est-ce uniquement avec des fichiers de construction spécifiques? Si ce dernier, s'il vous plaît modifier votre question et ajouter des détails. De même, comment déterminez-vous que les tâches de lancement sont exécutées? –