¿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?
- Androide estudio Logcat muestra datos json en una sola línea y parte de los datos
- Android Conflict con dependencia appcompat
- Logcat está siendo "spam", resultando en "Demasiada salida para procesar"
- Error de generación de Proguard con la biblioteca de anotaciones de Lombok
- Android SDK carpeta que toma un montón de espacio en disco. ¿Necesitamos mantener todas las imágenes del sistema?
- Android Instant App: ¿Cómo crear módulos direccionables por URL?
- No se puede crear Debug Bridge No se puede detectar la versión de adb. Error de sintaxis: ")" Actualización de Platform-tools 23.0.1 a 23.1.0 Linux-32 bits causa problema
- Android no homologado
- Cómo programar la notificación en Android
- No se puede establecer el valor DSCP en la aplicación android
- HttpClient no importará en Android Studio
- Error en la instalación con el mensaje Archivo no válido
- Android Studio y ProGuard: no se puede resolver el símbolo getDefaultProguardFile?
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 }