¿Qué sabor de producto crea Android Studio de forma predeterminada en build.gradle?


160

Tenemos un proyecto de Android que usa el nuevo sistema de compilación Gradle, y usamos Android Studio como herramienta de desarrollo. Cuando hay varios sabores de productos especificados build.gradle, notamos que Android Studio construye el primero especificado alfabéticamente. ¿Hay alguna manera de decirle a Android Studio que cree y pruebe solo un sabor de producto específico durante el desarrollo?

Respuestas:


334

En la parte inferior izquierda de la ventana de Studio hay una vista acoplada llamada "Variantes de compilación".

Ábrelo y elige la variante en la que quieras trabajar. Esto afectará qué variante se crea, pero también las carpetas de origen habilitadas, lo que impulsará la finalización en editores de código y recursos.


15
Frio. ¿Hay alguna forma de personalizar cuál prefiere en la importación inicial?
Joe

3
No lo creo. Puedo preguntarle al ingeniero que lo hizo si podemos agregar esto. Pero es probable que esto sea diferente por proyecto si tienes sabores.
Xavier Ducrohet

34
Las variantes son una combinación de sabor (es) y tipos de construcción. Solo puede implementar variantes. Nunca puedes construir un apk que sea solo un sabor.
Xavier Ducrohet

55
Si está interesado, puede usar la línea de comandos para construir la variante especificada: ./gradlew assemble <Flavor1> <Flavor2> <...> <BuildType>, por ejemplo assembleGooglePlayRelease. Y puede compilar e instalar en un dispositivo o emulador conectado usando: ./gradlew install <Flavor1> <Flavor2> <...> <BuildType>
Deepscorn

55
Pero, ¿con qué sabor de producto, Android Studio crea la aplicación de forma predeterminada?
Malwinder Singh

20

Actualmente parece no haber forma de seleccionar el sabor predeterminado. Hay una solicitud de función en Android Issue Tracker para ello:

https://code.google.com/p/android/issues/detail?id=64917

Puede destacar / votar la solicitud, por lo que obtiene una mayor prioridad en la acumulación de herramientas de desarrollo de Android.


3
Esta característica estará en Android Studio 3.5. NO ES Broma - ¡esto tardó 5 años en implementarse! (mira la fecha de creación del boleto)
Alguien en algún lugar

4

Sí, hay una manera:

android {
    productFlavors {
        foo {
            isDefault true
        }
    }
}

Y de lo contrario, se prefieren las variantes con el tipo de compilación de depuración.

Se agregó en Android Studio 3.5, consulte la solicitud de características :

"Incluido en Android Gradle Plugin 3.5.0-alpha08 y Android Studio 3.5 Canary 8 [3.5.0.7].

La heurística para proyectos que usan AGP anteriores y proyectos sin configuraciones explícitas también se ha actualizado para favorecer variantes con la depuración de tipo de compilación, como se describe en el mensaje de confirmación ".


-1

Puede especificar el comando ejecutar en la sección antes de iniciar Gradle-aware Make

Puede enumerar todas las tareas de Gradle por gradlew tasks

ingrese la descripción de la imagen aquí


Probé esto y, aunque ciertamente da como resultado que solo se construya un sabor, Android Studio solo lanzará la variante seleccionada. Peor aún, si selecciono una Actividad específica que no está en la variante seleccionada, recibo un mensaje de error confuso que dice "la actividad debe exportarse o contener un filtro de intención". El error desaparece una vez que cambio la selección de construcción bariant.
Dagmar
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.