Android Studio Gradle Construir Sabores
Tengo problemas para entender los sabores de la compilación en Android Studio. Estoy tratando de lograr una cosa simple: buidling 2 APK firmado con un cambio de código menor. El "pro" APK sólo tiene un drawer.xml
diferente.xml en res/layout/
. He leído algunas cosas en la documentación y aquí en StackOverflow pero no veo nada suceder con mis cambios de build.gradle
.
mi archivo build.gradle
actual:
- ¿Cuál es la diferencia entre compilar, testCompile y proporcionada en dependencia de gradle
- Error de Gradle: no se pudo ejecutar la compilación usando la distribución gradle
- Gradle no puede resolver la dependencia de Play Services
- Android XML: RuntimeException: No se pudo resolver el atributo en el índice 6
- Pruebas de Android con Gradle: Cambie el nombre de archivo de salida de prueba de JUnit
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.4.+' } } apply plugin: 'android' dependencies { compile files('libs/android-support-v4.jar') compile files('libs/GoogleAdMobAdsSdk-6.4.1.jar') } android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig { minSdkVersion 14 targetSdkVersion 17 } productFlavors { lite { packageName = 'com.mikebdev.refuel' } pro { packageName = 'com.mikebdev.refuelpro' } } sourceSets{ android.sourceSets.pro { res.srcDirs = ['src/main/res_pro'] } } }
He creado una nueva carpeta:
/src/main/res_pro/layout/drawer.xml
¿Qué estoy haciendo mal aquí?
EDITAR
He actualizado mi archivo build.gradle anterior.
Después de restablecer todo mi Android Studio debido a algunas otras inestabilidades ahora puedo elegir en la esquina inferior izquierda mis variantes de construcción (lite-debug, lite-release, pro-debug, pro-release) ¿Por qué incluso las variantes de depuración y liberación?
Esto parece funcionar ahora como debería.
He añadido una respuesta a continuación
- Uso de la versión anterior de la biblioteca de soporte en una de las dependencias
- Android Studio No se puede cargar la clase 'org.codehaus.groovy.runtime.typehandling.ShortTypeHandling'
- Depurar pruebas de unidad basadas en gradle con IntelliJ / AndroidStudio
- Android Studio 1.0 es demasiado lento
- Juegos de conflictos de Gradle: 4.0.30 con GoogleAdMobAdsSdk
- Crouton depende de las bibliotecas, pero no es una biblioteca en sí
- Sonar, Gradle y Android devuelven 0 número
- Cómo establecer versionName en APK filename usando gradle?
Después de restablecer todo mi Android Studio debido a algunas otras inestabilidades ahora puedo elegir en la esquina inferior izquierda mis variantes de construcción (lite-debug, lite-release, pro-debug, pro-release) ¿Por qué incluso las variantes de depuración y liberación?
He creado un nuevo proyecto con Módulo y copiar y pegar todo de mi antiguo proyecto que he exportado de eclipse hace un tiempo atrás.
Ahora funciona.
Mi Android-Studio estaba un poco roto antes de mi reinstalar. Más accidentes de lo que debería haber, algunos comportamientos extraños y esas cosas.
Lo que estás haciendo mal es que estás poniendo tu archivo en /src/main/res_pro/layout/drawer.xml
y no lo configura en el gradle. la ubicación predeterminada para el sabor que creó sería:
/src/pro/res/layout/drawer.xml
Con esta secuencia de comandos de construcción está utilizando tipos de construcción Y sabores. Para cambiar el archivo xml sólo necesita los sabores. Trate de eliminar buildTypes y use el bloque productFlavor como hijo de android. El cambio de la carpeta res del sabor pro debe entrar en el bloque sourceSets justo después de todos los cambios del sourceSet principal