Préface: il ne s'agit pas de savoir comment utiliser les types de build et les saveurs de produit dans une application Android. Je comprends les concepts de base impliqués. Cette question consiste davantage à essayer de comprendre quelle configuration doit être spécifiée dans un type de construction, quelle configuration doit être spécifiée dans une saveur de produit et si une distinction est réellement nécessaire.
Cette semaine, j'en ai appris davantage sur la configuration gradle pour les applications Android. Au départ, je pensais avoir une bonne maîtrise des types de build par rapport aux saveurs de produits, mais plus j'approfondissais la documentation, plus je réalisais que la distinction entre les deux n'était pas claire du tout.
Puisqu'il existe une hiérarchie bien définie (dans le sens où les propriétés spécifiées dans les types de build ont priorité sur celles spécifiées dans les saveurs de produit), je ne comprends pas pourquoi il est nécessaire de faire la distinction entre les types de build et les saveurs de produit. Ne serait-il pas préférable de fusionner toutes les propriétés et méthodes dans l'objet DSL de saveur du produit, puis de traiter simplement le type de construction comme une dimension de saveur (par défaut)?
Quelques exemples concrets qui ont conduit à ma confusion:
La
signingConfig
propriété peut être définie à la fois dans les types de build et les saveurs de produit ... maisminifyEnabled
(et, je supposeshrinkResources
,?) Ne peut être configurée que dans les types de build.applicationId
ne peut être spécifié que dans les versions de produit ... etapplicationIdSuffix
ne peut être spécifié que dans les types de construction !?
La (les) question (s) réelle (s) :
Compte tenu des exemples ci-dessus: y a-t-il une distinction claire entre les rôles des types de construction et des saveurs de produit?
Si oui, quelle est la meilleure façon de le comprendre?
Sinon, est-il prévu de fusionner à terme les types de build et les variantes de produit en un seul objet DSL configurable?
applicationId
, par exemple.