When the app is based on more than one criteria, instead of creating a lot of flavors you can define flavor dimensions. The flavor dimensions define the cartesian product that will be used to produce variants.
What is Android Flavour?
Simply put, a product flavor is a variant of your app. … This means you can generate different versions or variants of your app using a single codebase. Product flavors are a powerful feature of the Gradle plugin from Android Studio to create customised versions of products.
What is Flavordimensions?
A flavorDimension is something like a flavor category and every combination of a flavor from each dimension will produce a variant. … It will produce, for each flavor in the dimension “organization” all possible “type” (or the dual formulation : for each “type” it will produce a variant for each organization).