android - build.gradle文件中是否可能 “def”值

标签 android gradle android-gradle-plugin build.gradle gradle-plugin

我正在基于不同的配置文件生成多个apk's

所以我在build.gradle文件上定义了一个变量

def isPRODBuild = false

我想在productFlavors范围内更改此变量,所以我做了以下操作。
productFlavors {
    dev {
        isPRODBuild= false     
    }
    prod {
        isPRODBuild= true 
    }
}

但是似乎它并没有改变isPRODBuild值的值。

是否需要在build.gradle文件中使用其他类型的变量?

最佳答案

At build time, Gradle generates the BuildConfig class so your app code can inspect information about the current build. You can also add custom fields to the BuildConfig class from your Gradle build configuration file using the buildConfigField() method and access those values in your app's runtime code. Likewise, you can add app resource values with resValue().



因此,您可以简单地使用buildConfigField定义变量。
productFlavors {
    dev {
        buildConfigField "boolean", "isPRODBuild", "false"   
    }
    prod {
        buildConfigField "boolean", "isPRODBuild", "true"
    }
}

然后访问上述变量,只需使用BuildConfig.isPRODBuild

关于android - build.gradle文件中是否可能 “def”值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62394692/

相关文章:

android - 如何修复包含不安全的 TrustManager 实现的应用

java - 选项卡 Activity 中自定义标题栏上的 findViewById

安卓撰写 : Type is defined multiple times

android-studio - gradle 二进制文件在 Android Studio 安装 (Linux) 上的位置

Android gradle 插件 - 按国家/地区划分的 flavor 维度

java - 为什么我会收到 InvocationTargetException?安卓2D游戏

android - 在 Marshmallow (Android 6) 上使用 TTS 中的声音文件因权限问题而失败

android - 在 com.android.build.gradle.internal.api.ApplicationVariantImpl_Decorated@5635bcd2 上找不到属性 'packageApplication'

java - 在 Jitpack 的脚本中,所有 buildscript {} block 必须出现在任何插件 {} block 之前

gradle - 尝试将木材添加到Kotlin项目中会导致多个 'Unable to resolve dependency for…' Gradle错误