Utilisation de variantes de construction Gradle

introduction

L'une des fonctionnalités clés d'Android Studio est l'intégration de Gradle en tant que système de construction Android. Alors que l'objectif général d'un système de construction est de prendre le code source et de construire un fichier installable pour vos utilisateurs, un APK dans le cas d'Android, Gradle fournit beaucoup plus de fonctionnalités..

Gradle gère la gestion des dépendances, telles que les fichiers JAR locaux, les fichiers .so natifs et les bibliothèques hébergées sur Maven. Cela facilite également la configuration des propriétés du projet et permet aux développeurs de créer différentes versions de leurs applications de manière assez simple. Le dernier élément, appelé variantes de construction, est ce que vous allez apprendre dans cet article..

1. Que sont les variantes de construction??

Les variantes de construction sont des versions spécifiques que vous pouvez générer à partir de Gradle et basées sur le code source principal partagé. Alors qu'une application standard peut avoir un déboguer et Libération type de construction, vous pouvez développer ceci en ajoutant dimensions de la saveur.

Les dimensions de la saveur vous permettent d’utiliser la structure de dossiers de votre projet pour modifier l’apparence et la performance de générations individuelles pour vos utilisateurs. Cela permet aux développeurs de créer facilement plusieurs applications similaires avec des styles et une configuration différents..

2. Configuration des variantes de construction dans Gradle

Vous pouvez commencer en allant dans votre projet build.gradle déposer et ajouter un saveurDimensions article à l'intérieur de la Androidconstruire le noeud.

flavourDimensions "nombre", "couleur"

Ceci définit les dimensions que vos variantes de construction peuvent utiliser. Chaque build que vous produisez doit avoir un saveur du produit de chacune des dimensions. Cela signifie que si vous n'avez besoin que d'une seule dimension pour vos applications, ce qui est un scénario courant, vous pouvez modifier votre saveurDimensions ligne pour définir une seule dimension.

Sous le saveurDimensions définition, vous pouvez définir le produitFlaveurs. Pour cet exemple, nous allons garder les choses simples et définir deux saveurs par dimension.

productFlavors blue applicationId "com.tutsplus.bluevariant" flavourimension "color vert applicationId" com.tutsplus.greenvariant "flavourimension" color " un flavourimension" nombre " deux avariimension" numéro "

Chaque build que vous créez nécessitera un unique ID d'application afin de le différencier des autres builds. Dans la mesure où toute application que vous construisez aura au moins une variante de chaque dimension, il vous suffit de définir le ID d'application dans chaque noeud pour une dimension.

Maintenant que vous avez tout défini pour vos variantes de construction dans build.gradle, vous pouvez ouvrir le Construire des variantes dans le coin inférieur gauche d’Android Studio pour voir quelles variantes sont disponibles pour la construction.

Vous remarquerez que chaque saveur que vous ajoutez augmente de manière exponentielle le nombre de variantes. Notez également que buildTypes de déboguer et Libération sont jetés dans la matrice de dimensions.

3. Utilisation de la structure du projet

Bien que vous puissiez maintenant installer différentes versions de votre application, rien ne les distingue les unes des autres. C’est là que vous utiliserez réellement le système de construction Gradle à votre avantage..

Gradle utilise la structure de dossiers d'un projet pour déterminer les fichiers qui seront utilisés pour compiler une application. Dans la structure de votre projet sous app / src /,tu verras le principale annuaire. C’est là que résident toutes vos ressources source et principales Java. Vous pouvez ajouter des répertoires supplémentaires à côté de principale refléter les différents types de produits de vos applications afin d'ajouter des ressources personnalisées pour chaque variante de construction.

Toute ressource existant dans une version de produit également définie dans principale aura automatiquement priorité.

Nous pouvons voir cela en action en regardant main / res / values ​​/ colors.xml. Si votre projet n'a pas déjà de colorPrimary valeur définie, allez-y et définissez-la. Si vous avez commencé avec un nouveau projet vide à suivre avec cet article, vous devriez voir une valeur prédéfinie de # 3F51B5. L'exécution de l'application devrait montrer le colorPrimary valeur comme couleur pour la Barre d'outils dans l'application.

Si vous créez un nouveau couleurs.xml déposer sous vert / src / valeurs /,vous pouvez remplacer le colorPrimary attribuer avec une valeur différente. Dans ce cas, utilisons # 00FF00.

  # 00FF00 

Lorsque votre fichier est créé et que la couleur est définie, retournez dans le Construire des variantes panneau dans Android Studio et sélectionnez le oneGreenDebug variante de construction. Vous pouvez ensuite compiler et exécuter cette variante de l'application.

Même si la variante verte a coloré la barre d'outils en vert, les autres propriétés de principale ne sont pas remplacés. Cela vous permet de configurer vos propriétés communes dans principale et ne change que ce qui devrait être différent.

Non seulement cela fonctionne pour les couleurs, mais vous pouvez modifier tout ce qui existe dans les dossiers de ressources, tels que les chaînes, les styles, les dimensions et les entiers. Lorsque combiné avec des dossiers de ressources annotés, tels que valeurs-xhdpi pour les appareils à plus haute densité de pixels, vous pourrez contrôler avec précision ce que l'utilisateur voit de votre application afin de garantir la meilleure expérience possible..

En prime, puisque vous avez différents ID d'application valeurs définies pour chacune des dimensions de couleur, vous pouvez installer plusieurs versions de la même application sur un appareil.

Conclusion

Gradle est un outil puissant qui non seulement construit des fichiers APK, mais vous permet également d’avoir un contrôle précis sur la personnalisation de vos versions. Dans cet article, vous avez appris à créer des variantes de construction de votre application avec différentes ressources, de sorte que vous puissiez facilement créer plusieurs applications similaires en une fraction du temps qu'il faudrait pour construire chacune individuellement.

Bien que Gradle soit encore un système de construction relativement nouveau, il a déjà démontré qu'il s'agissait d'un système de construction extrêmement utile avec lequel tout développeur Android devrait être à l'aise..