Mejores prácticas para variantes de construcción con sabor con gradle en android studio

Tengo una aplicación que se produce para diferentes marcas. Ahora tengo dos sabores, brand1 y brand2. La diferencia entre brand1 y brand2 son sólo los archivos de recursos.

Primero asumí que podía establecer todos los datos compartidos en mi ruta principal y las diferencias en el camino con sabor. Pero en este escenario mi compilación falló, porque faltan recursos en mi ruta principal.

Me gustaría seguir así: establecer todas las diferencias de recursos entre las marcas en la ruta principal como datos ficticios. La fusión hará el resto para mí.

En iOS puedo establecer una ruta de compilación para cada meta de compilación. ¿Es algo así posible con sabores? ¿O cuál es la mejor práctica en esta situación?

[EDIT 2013 08 07]

El problema en mi caso fue que creé la aplicación en eclipse y la exportaba a android studio. Aquí se describe con mayor precisión el problema y la solución.

Otra solución es poner todo lo compartido (básicamente la versión "vainilla" de tu aplicación) como un proyecto de librería, incluyendo recursos predeterminados.

A continuación, puede crear proyectos separados de "marca" que usan el proyecto de biblioteca. Cualquier recurso que ponga en estos "sobrescribirá" los recursos del proyecto de la biblioteca.

http://developer.android.com/tools/projects/projects-eclipse.html#SettingUpLibraryProject

He hecho esto para los clientes y ha funcionado bastante bien.

  • Tarea de gradación de Android Google Appengine
  • Cómo empaquetar sólo el idioma predeterminado con android gradle resConfigs
  • Android Studio build.gradle - No se puede resolver el símbolo 'android'
  • Cambiar la estructura del archivo de proyecto después de migrar de Eclipse a Android Studio gradle structure
  • Android Studio - Añadir dependencia a todos los módulos
  • Android proyecto de desgaste con 3 sabores, 3 buildTypes y 2 applicationIdSuffixes
  • Las dependencias de build.gradle se actualizan automáticamente
  • 'No se encontró ningún identificador de recurso para el atributo', incluso después de usar el espacio de nombres http://schemas.android.com/apk/res-auto
  • ¿Cómo generar reportes de findbugs usando gradle script?
  • El proyecto Biblioteca de Android no puede importar la clase R de otro proyecto de biblioteca al utilizar gradle para compilar en la línea de comandos
  • Las configuraciones de Gradle no funcionan como se espera en el nuevo sistema de compilación de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.