Что такое flavor dimensions?

Что такое flavor dimensions?
В предыдущем посте build variant был определен как комбинация build type и flavor.
В некоторых случаях нужно получить сборку, содержащую конфигурации из разных flavor. Для комбинации нескольких flavor в одном build-варианте используется атрибут flavorDimensions.

Рассмотрим конфигурацию сборки на скриншоте.
Заданы два flavorDimensions: api и version. Порядок flavorDimensions определяет приоритет. В каждом dimension заданы по два flavor.
Dimensions комбинируются между собой, поэтому в результате такой конфигурации создаются следующие build-варианты (dimensions идут в порядке убывания приоритета): [minApi21, minApi24][Free, Paid][Debug, Release], например minApi21FreeRelease.