Конфликт BuildFlavors в дорчерних Gradle модулях
- Есть модуль "app", в котором добавлены buildConfig строки:
buildFeatures {
buildConfig true
}
flavorDimensions "server"
productFlavors {
prod {
dimension "server"
buildConfigField("String", "APP_FLAVOR", "\"PROD_TEST\"")
}
stage {
dimension "server"
buildConfigField("String", "APP_FLAVOR", "\"STAGE_TEST\"")
}
}
- Есть модуль "streamview" в котором мне тоже необходимо менять buildConfig строки в зависимости уже от flavor-a самого streamview:
flavorDimensions "default"
productFlavors {
htd {
dimension "default"
buildConfigField("String", "STREAM_FLAVOR", "\"HTD\"")
}
newUk {
dimension "default"
buildConfigField("String", "STREAM_FLAVOR", "\"NEW_UK\"")
}
}
- Так вот, как только я добавляю flavor-ы в "streamview", он отваливается от "app" (Gradle перестает видеть подключенный модуль)
- В модуле streamview тоже buildConfig не создается, скорее всего из-за п.1
implementation project(path: ':streamview')
На англоязычном SO увидел вот такое: https://stackoverflow.com/questions/64758477/android-buildtypes-vs-productflavors-error (ошибка такая же как у меня) Но хоть убей, не пойму что там надо делать.Попробовал заменить implementation на комбинацию из prodImplementation / stageImplementation, но ничего не поменялось.
Мне по итогу нужно, чтобы через меню BuildVariants переключать можно было настройки моего модуля streamview, чтоб оно не отваливалось
Источник: Stack Overflow на русском