#android #android-studio #gradle
Вопрос:
У меня есть проект Android Studio, в котором основной модуль A ( build.gradle
):
plugins {
id 'com.android.application'
}
...
имеет несколько дочерних модулей (B, C, D), которые определены как (дочерние модули build.gradle
):
plugins {
id 'com.android.library'
}
...
Теперь, когда я определяю
android {
buildFeatures {
buildConfig = true
}
buildTypes {
SOME_BUILD {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
buildConfigField 'String', 'ENVIRONMENT', '"PROD"';
...
Я вижу, что SOME_BUILD появляется в выборе Android Studio
, предоставленном мне, когда я хочу создать и подписать APK, но СРЕДА свойств не создается в классе BuildConfig: очистка, перестройка, перезапуск не помогают.
Если я определю свойство СРЕДЫ внутри defaultConfig в корневой сборке.gradle, это свойство будет сгенерировано:
subprojects {
afterEvaluate {project ->
if (project.hasProperty("android")) {
android {
...
defaultConfig {
minSdkVersion 27
targetSdkVersion 30
versionCode 10
versionName "1.0.10"
buildConfigField 'String', 'ENVIRONMENT', '"PROD"';
}
...