应用的构建类型在哪里定义?

时间:2019-02-12 05:41:24

标签: android android-studio gradle android-gradle

  1. 我知道我们可以在Android Studio中编辑构建类型:

    Build Types

  2. 我知道我们可以在gradle中编辑每个构建类型设置:

    android {
        buildTypes {
            release {
                minifyEnabled true
            }
        }
    
  3. 我知道我们可以在代码中检测构建类型。 How do I detect if I am in release or debug mode?

但是构建类型实际上在哪里定义?假设我想将其提交给git。我该怎么做才能保持项目的构建类型一致?

1 个答案:

答案 0 :(得分:1)

  

实际上在哪里定义了构建类型?

基本上,BuildConfig是位于路径下的自动生成的类:

app / build / generated / source / buildConfig / yourBuildType / yourPackageName / BuildConfig.java

此类包含buildTypes {}块提供的来自应用级别 build.gradle 文件的变量。因此,在每次清理和重建项目时, Gradle 都会自动生成BuildConfig类,该类可用于进一步的 Android开发环境


BuildConfig.DEBUG 是我们可以在应用程序代码中使用的默认变量,以确定它是 buildType

我们可以通过buildType build.gradle 文件中提供自己的字段,如下所示:

android {
. . .
    buildTypes {
        debug {
            buildConfigField "String", "SOME_VARIABLE", '"This string value is from build config class"'
        }
    }
. . .
}