首页 > 解决方案 > buildConfigField 没有被拾取

问题描述

我有一个 Android Studio 项目,其中主模块Abuild.gradle):

plugins {
    id 'com.android.application'
}
...

有多个子模块(BCD),它们被定义为(子模块的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 时给我的选项中,但属性ENVIRONMENT没有在BuildConfig类中生成:清理、重建、重新启动没有帮助。

如果我在 root build.gradle的defaultConfig中定义ENVIRONMENT属性,则会生成此属性:

subprojects {
    afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
        ...
        defaultConfig {
            minSdkVersion 27
            targetSdkVersion 30
            versionCode 10
            versionName "1.0.10"
            buildConfigField 'String', 'ENVIRONMENT', '"PROD"';
        }
       ...

标签: androidandroid-studiogradle

解决方案


推荐阅读