¿Por qué la clase BuildConfig usa Boolean.parseBoolean () en lugar de valores literales?

Al mirar elBuildConfig clase generada por Android Studio y el complemento Gradle se puede ver que elBuildConfig.DEBUG el campo se inicializa utilizando elBoolean.parseBoolean(String) llamar en lugar de usar uno de los literales booleanostrue ofalse.

Cuando agrego propiedades de compilación personalizadas usando Gradle, simplemente lo haría así:

android {
    buildTypes.debug.buildConfigField 'boolean', 'SOME_SETTING', 'true'
}

Pero mirando lo generadoBuildConfig me dice que Google ha adoptado un enfoque diferente con elDEBUG bandera:

public final class BuildConfig {
  public static final boolean DEBUG = Boolean.parseBoolean("true");

  // more fields here

  // Fields from build type: debug
  public static final boolean SOME_SETTING = true;
}

¿Cuál es el beneficio de usarBoolean.parseBoolean(String) en lugar de literales?

Respuestas a la pregunta(1)

Su respuesta a la pregunta