¿Cómo obtener la variante de compilación en tiempo de ejecución en Android Studio?

Me gustaría obtener la variante de construcción durante el tiempo de ejecución, es esto posible sin ninguna configuración o código extra?

Observe la clase BuildConfig generada.

 public final class BuildConfig { public static final boolean DEBUG = Boolean.parseBoolean("true"); public static final String APPLCATION_ID = "com.example.app"; public static final String BUILD_TYPE = "debug"; public static final String FLAVOR = ""; public static final int VERSION_CODE = 1; public static final String VERSION_NAME = ""; } 

Puedes probar con

 getPackageName(); 

Devolverá lo que ha definido en build.gradle

 productFlavours{ flavour1{ applicationId 'com.example.package.flavour1' } flavour2{ applicationId 'com.example.package.flavour2' } } 

Otra opción sería crear una variable de configuración de compilación separada para cada variante de construcción y usarla en el código de esta manera:

En su archivo build.gradle:

 productFlavors { production { buildConfigField "String", "BUILD_VARIANT", "\"prod\"" } dev { buildConfigField "String", "BUILD_VARIANT", "\"dev\"" } } 

Para usarlo en su código:

 if (BuildConfig.BUILD_VARIANT.equals("prod")){ // do something cool } 
  • Android: activar un botón
  • ¿Cómo puedo detener Gradle para Android desde el edificio * Todos * Módulo de biblioteca de tipos de construcción en cada construcción?
  • No se pudo resolver resource @ id / visible cuando se utiliza TextInputLayout
  • No se puede actualizar la dependencia de Firebase (com.google.firebase)
  • Respecto al error de modo de GPU en el lanzamiento del dispositivo virtual Android
  • Android Studio: ¿Cómo mover rápidamente el estilo de layout.xml a style.xml?
  • No se puede conectar el depurador de Android Studio al proceso de Android
  • Genymotion no detendrá la optimización de la aplicación
  • Error de representación; No se pudo resolver @ id / search_edit_frame
  • Gradle Terminal no se muestra en Android Studio
  • Android studio - ¿debería estar todo el directorio .idea en git ignore?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.