Как вы объединяете несколько вкусов gradle или исключаете один? - PullRequest
0 голосов
/ 24 марта 2020
flavorDimensions("color")

productFlavors {
    register("red") {
        setDimension("color")
    }
    register("blue") {
        setDimension("color")
    }
}

redImplementation("red library")
blueImplementation("blue library")

Это генерирует варианты сборки: blueDebug, blueRelease, redDebug, redRelease

Но в дополнение к ним я хочу вариант сборки, который является комбинацией этих двух, поэтому окончательный список будет: blueDebug , blueRelease, redDebug, redRelease, blueRedDebug, blueRedRelease

Если у вас их разные размеры, у вас останется только комбинация blueRed.

Как настроить скрипт gradle для поддержки этого случая? Конечная цель - выбрать, хотите ли вы только красную библиотеку, только синюю библиотеку или их комбинацию.

Ответы [ 2 ]

1 голос
/ 24 марта 2020

Поскольку у вас уже есть библиотечные модули blue и red, ваше приложение может иметь следующие разновидности:

  • blue, что зависит от blue библиотеки
  • red, что зависит от red библиотеки
  • blueRed, которая зависит от blue и red библиотек

Я предполагаю, что blue и библиотеки red могут быть включены бок о бок.

flavorDimensions("color")

productFlavors {
    register("red") {
        setDimension("color")
    }
    register("blue") {
        setDimension("color")
    }
    register("blueRed") {
        setDimension("color")
    }
}

redImplementation("red library")
blueImplementation("blue library")
blueRedImplementation("red library")
blueRedImplementation("blue library")
0 голосов
/ 24 марта 2020

Я не думаю, что это возможно с ароматами. Я могу порекомендовать вам прочитать эту статью , чтобы узнать больше об ароматах.

И взгляните на do c

...