Tenga en cuenta: Respuesta editada después de la Respuesta de Xavier
Estoy tratando de usar diferentes Build Flavors para un mismo proyecto de aplicación en Android Studio. Sin embargo, parece que me está costando mucho configurarlo para que funcione correctamente.
Pasos:
- Cree un nuevo proyecto de Android Studio, llamado 'Prueba'.
Abra build.gradle * y agregue las siguientes líneas:
productFlavors { flavor1 { packageName 'com.android.studio.test.flavor1' } flavor2 { packageName 'com.android.studio.test.flavor2' } }
- Después de reiniciar Android Studio, ahora veo 4 variantes de compilación en la sección Variantes de compilación. Lo que significa que hemos tenido éxito en la selección de los sabores del producto hasta ahora. ** **
Creó una nueva carpeta de origen para flavour1 ; Sin embargo, no estoy seguro si lo estoy haciendo de la manera correcta. Así es como lo hice:
- Tenga en cuenta que el nombre de mi paquete para este proyecto es:
com.foo.test
- Haga clic derecho en la
src
carpeta, para flavour1, en realidad creé las carpetas individuales en el explorador, de una manera que la estructura essrc/flavor1/java/com/foo/test/MainActivity.java
. - Lo anterior funcionó bien, ya que la carpeta 'java' está en azul , lo que significa que el IDE sabe que es un directorio fuente activo. Además, el paquete se creó automáticamente. A pesar de esto, recibo una advertencia para la clase duplicada encontrada. Ver captura de pantalla aquí.
- Para flavour2, intenté crear el paquete manualmente, pero la carpeta 'src' para flavour2 parece no estar en azul y, por lo tanto, las opciones son diferentes cuando se hace clic con el botón derecho, y 'Nuevo paquete' no está disponible para mi uso. Ver imagen aquí.
- Tenga en cuenta que para flavour1, también creé un directorio 'res', que se vuelve azul, pero a pesar de eso, no ofrece la posibilidad de crear un archivo de recursos de Android o un directorio de recursos de Andorid, en caso de que quisiera usar diferentes resurge para diferentes sabores.
- Tenga en cuenta que el nombre de mi paquete para este proyecto es:
¿Estoy haciendo algo mal? ¿O me estoy perdiendo algo? Hágame saber si necesita más información.
* Mi proyecto parece tener dos archivos build.gradle. Uno ubicado en la raíz de la carpeta del proyecto (\ GradleTest), este está vacío. El segundo ubicado en la raíz de una subcarpeta de \ GradleTest, también etiquetado 'GradleTest' (GradleTest-GradleTest), este es el que ya tenía código cuando se abrió; por lo tanto, ese es el que edité.
** Verifiqué la configuración de Gradle y aparentemente Usar importación automática ya estaba habilitado. A pesar de esto, realizar cambios en el archivo build.gradle no actualiza automáticamente las variantes de compilación. Nota: También intenté usar Build - Rebuild Project, y / o Build - Make Project, no-go. Todavía tengo que cerrar el proyecto y volver a abrir para que los cambios surtan efecto.
applicationId
ahora es compatible en lugar depackageName
.