До Gradle 3 мы могли использовать
configurations {
client1DevCompile
...
}
dependencies {
client1DevCompile project(
path: ':common',
configuration: 'app1DevRelease'
)
...
}
после Gradle 3 он заявил, что вариант сборки будет распространяться автоматически, если оба модуля имеют одинаковые размеры и productFlavors.
В моем основном модуле у меня есть
flavorDimensions "environment"
productFlavors {
prod {
applicationId "package"
dimension "environment"
}
qa {
applicationId "package.qa"
dimension "environment"
}
dev {
applicationId "package.dev"
dimension "environment"
}
}
and in sub module i have
flavorDimensions "environment"
productFlavors {
prod { dimension "environment" }
qa { dimension "environment" }
dev { dimension "environment" }
}
Однако, когда я выбираю buildvarian для основного модуля, он не распространяется

В подмодуле измените ароматы следующим образом:
flavorDimensions "environment"
productFlavors {
prod { dimension "environment" }
qa { dimension "environment" }
dev { dimension "environment" }
}
И не забудьте добавить зависимость к подмодулю.
У меня похожая (лучше сказать более сложная) ситуация, и она отлично работает. Вот мои примеры основных / подмодулей Gradle, которые подходят мне:
главный:
flavorDimensions "brand", "mode"
productFlavors {
// Brand
a {
dimension "brand"
applicationIdSuffix ".a"
}
b{
dimension "brand"
applicationIdSuffix ".b"
}
// Demo-mode
normal {
dimension "mode"
resValue "string", "demo_verion", ""
}
demo {
dimension "mode"
applicationIdSuffix ".demo"
versionNameSuffix "-demo"
resValue "string", "demo_verion", "DEMO VERSION"
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation project(':submodulelib')
}
подмодуль:
flavorDimensions "brand"
productFlavors {
// Brand
a{
dimension "brand"
externalNativeBuild {
cmake {
cFlags "-DA"
}
}
}
b{
dimension "brand"
externalNativeBuild {
cmake {
cFlags "-DB"
}
}
}
}
@Yarh вы пытались снова изменить основной вкус из меню вариантов сборки? всякий раз, когда я меняю размеры продукта, студия Android не обнаруживает его, пока я не попытаюсь изменить вариант сборки приложения.
@Yarh Я добавил образец из моего рабочего основного / подмодуля.
да, я меняю только основной модуль из меню вариантов сборки.
@Yarh То, что я опубликовал, работает на меня. если вы можете, пожалуйста, добавьте большинство основных и подмодульных файлов gradle (просто удалите важные части).
добавлены размеры. однако ароматы все еще не синхронизированы, после того, как я изменил основной модуль на qa, модуль dev остается в dev