La méthode recommandée par Google Gradle Plugin pour configurer vos fichiers gradle pour créer plusieurs projets présente des lacunes Si vous avez plusieurs projets en fonction d'un projet de bibliothèque, cet article explique brièvement la configuration recommandée par Google, ses lacunes et recommande une autre façon de configurer vos fichiers gradle pour prendre en charge les configurations multi-projets dans Android Studio:
Une configuration alternative multiprojet pour Android Studio
Une manière différente:
Il s'avère qu'il existe un meilleur moyen de gérer plusieurs projets dans Android Studio. L'astuce consiste à créer des projets Android Studio séparés pour vos bibliothèques et à indiquer à Gradle que le module de la bibliothèque dont dépend votre application se trouve dans le répertoire de projet de la bibliothèque. Si vous souhaitez utiliser cette méthode avec la structure de projet que j'ai décrite ci-dessus, procédez comme suit:
- Créer un projet Android Studio pour la bibliothèque StickyListHeaders
- Créer un projet Android Studio pour App2
- Créer un projet Android Studio pour App1
- Configurez App1 et App2 pour créer les modules dans le projet StickyListHeaders.
La 4ème étape est la partie difficile, c'est donc la seule étape que je vais décrire en détail. Vous pouvez référencer des modules externes au répertoire de votre projet en ajoutant une instruction de projet dans votre fichier settings.gradle et en définissant la propriété projectDir sur l'objet ProjectDescriptor renvoyé par cette instruction de projet:
Le code à insérer settings.gradle
:
include ':library1'
project(':library1').projectDir = new File('../StickyListHeader/library1')
Si vous avez fait cela correctement, vous remarquerez que les modules référencés par votre projet apparaîtront dans le navigateur de projet, même si ces modules sont externes au répertoire du projet:
Cela vous permet de travailler simultanément sur le code de la bibliothèque et le code de l'application. L'intégration du contrôle de version fonctionne également très bien lorsque vous référencez des modules en externe de cette façon. Vous pouvez valider et pousser vos modifications dans le code de la bibliothèque, tout comme vous pouvez valider et pousser les modifications dans le code de votre application.
Cette façon de mettre en place plusieurs projets évite les difficultés qui pèsent sur la configuration recommandée par Google. Parce que nous référençons un module qui se trouve en dehors du répertoire du projet, nous n'avons pas à faire de copies supplémentaires du module de bibliothèque pour chaque application qui en dépend et nous pouvons versionner nos bibliothèques sans aucune sorte d'absurdité de sous-module git.
Malheureusement, cette autre façon de mettre en place plusieurs projets est très difficile à trouver. De toute évidence, ce n'est pas quelque chose que vous comprendrez en consultant le guide de Google, et à ce stade, il n'y a aucun moyen de configurer vos projets de cette manière en utilisant l'interface utilisateur d'Android Studio.