Пытаясь следовать Образцу модуляции Jeroen Mols , он указывает хороший метод, позволяющий всем модулям обмениваться номерами версий. В проекте верхнего уровня build.gradle добавьте следующее:
subprojects {
afterEvaluate { project ->
if (project.hasProperty('android')) {
android {
compileSdkVersion build_versions.target_sdk
defaultConfig {
minSdkVersion build_versions.min_sdk
targetSdkVersion build_versions.target_sdk
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
}
}
}
Теперь никаким файлам build.gradle уровня модуля не нужно указывать эти поля. Однако я получаю:
GradleException: Android tasks have already been created.
Я не указываю android .applicationVariants, android .libraryVariants или android .testVariants, например, в описании этой ошибки упоминается, что может Я тут делаю не так? Я даже попытался полностью удалить блок android из каждого модуля, и ошибка не исчезла.