Android 在哪里定义了应用程序的生成类型?

Android 在哪里定义了应用程序的生成类型?,android,android-studio,gradle,android-gradle-plugin,Android,Android Studio,Gradle,Android Gradle Plugin,我知道我们可以在Android Studio中编辑构建类型: 我知道我们可以在gradle中编辑每个构建类型设置: android { buildTypes { release { minifyEnabled true } } 我知道我们可以在代码中检测构建类型 但是构建类型实际上是在哪里定义的呢?假设我想把它提交给git。我应该做什么来保持项目的构建类型一致 构建类型实际上是在哪里定义的 基本上,BuildConfi

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

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

    android {
        buildTypes {
            release {
                minifyEnabled true
            }
        }
    
  • 我知道我们可以在代码中检测构建类型

  • 但是构建类型实际上是在哪里定义的呢?假设我想把它提交给git。我应该做什么来保持项目的构建类型一致

    构建类型实际上是在哪里定义的

    基本上,
    BuildConfig
    是驻留在路径下的自动生成类:

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

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


    也就是说,
    BuildConfig.DEBUG
    是默认变量,我们可以在应用程序代码中使用它来确定它的构建类型

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

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

    BuildConfig类在以下路径“app/build/generated/source/BuildConfig/yourBuildType/yourPackageName/BuildConfig.java”中生成,您不应该使其一致。因为,它是类生成的,并且应该在每次成功清理/重新构建时生成。@JeelVankhede 1。那么BuildConfig.BUILD_类型的代码来自我们运行构建时Android Studio注入的内容?2.作为开发人员,我们应该依赖build.gradle中指定的buildType来配置我们的Android Studio以匹配它们。对吗?是的,没错,我们完全可以依赖BuildConfig类。但为了让你们明白,Android studio除了生成此类类的编译器之外,并没有注入任何东西。@Jeelvankhee明白了!我认为这是一个正确的答案。你能把它加起来,然后贴出答案,这样我就可以接受了吗?