Android proyecto de desgaste con 3 sabores, 3 buildTypes y 2 applicationIdSuffixes
Cuando construyo mi proyecto después de intentar combinar sabores de wearApp y buildTypes con applicationIdSuffixes, consigo el mensaje de error siguiente:
Error:Execution failed for task ':app:handleFirstCustomerTestMicroApk'. > The main and the micro apps do not have the same package name.
Desde mi app / build.gradle:
- Android versión sdk en gradle y manifiesto
- Archivo de Firebase no encontrado excepción
- Cambiar la estructura del archivo de proyecto después de migrar de Eclipse a Android Studio gradle structure
- Problema de Gradle de Android
- Build.gradle y libs de proyectos
buildTypes { debug { applicationIdSuffix '.debug' debuggable true embedMicroApp = true } customerTest { applicationIdSuffix '.customertest' debuggable true embedMicroApp = true } release { proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' minifyEnabled true embedMicroApp = true } } productFlavors { first { applicationId 'com.my.app.first' } second { applicationId 'com.my.app.second' } third { applicationId 'com.my.app.third' } } dependencies { firstWearApp project(path: ':wear', configuration: 'firstDebug') firstWearApp project(path: ':wear', configuration: 'firstCustomerTest') firstWearApp project(path: ':wear', configuration: 'firstRelease') secondWearApp project(path: ':wear', configuration: 'secondDebug') secondWearApp project(path: ':wear', configuration: 'secondCustomerTest') secondWearApp project(path: ':wear', configuration: 'secondRelease') thirdWearApp project(path: ':wear', configuration: 'thirdDebug') thirdWearApp project(path: ':wear', configuration: 'thirdCustomerTest') thirdWearApp project(path: ':wear', configuration: 'thirdRelease') }
De mi desgaste / build.gradle:
buildTypes { debug { applicationIdSuffix '.debug' minifyEnabled false } customerTest { applicationIdSuffix '.customertest' minifyEnabled false } release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } productFlavors { first { applicationId 'com.my.app.first' } second { applicationId 'com.my.app.second' } third { applicationId 'com.my.app.third' } } android { publishNonDefault true }
Sé de estos que <buildType>WearApp
es posible, pero lo que realmente necesito es <flavor><BuildType>WearApp
(que no parece ser posible ahora):
- El uso de aplicaciones de Android no coincide con los sabores
- Wear App y con tipo de compilación personalizado con applicationIdSuffix
- Https://code.google.com/p/android/issues/detail?id=74658
Mantener todas las dependencias de 9 wearApp como se muestra funciona si elimino la aplicaciónIdSuffixes, pero luego se construye un desgaste apk por buildType no importa lo que buildType que elija en Android Studio – y realmente necesito el applicationIdSuffixes.
Alguien tiene una solución para esto? A partir de hoy estoy añadiendo y eliminando las dependencias de wearApp manualmente cada vez que necesito cambiar mi buildType y / o sabor, y no es exactamente una solución con la que me sienta cómodo a largo plazo.
EDIT: No me di cuenta de esto al principio, pero por alguna razón variantes firstDebug, secondDebug y thirdDebug construye muy bien con todas las dependencias de 9 wearApp en build.gradle. El mensaje de error sigue siendo el mismo para firstCustomerTest, firstRelease, secondCustomerTest, secondRelease, thirdCustomerTest y thirdRelease. Todas las variantes compilar el 9 wearApps cada vez, sería aseado para reducir esto a 1.
- Android Studio - Construye un proyecto Android con una biblioteca de Android que depende de otra Android Library
- Facebook Audience Network Ad Sdk dependencia dando error de tiempo de ejecución en la aplicación para Android
- Android Studio .2.2 y el paquete Gradle no existe
- No se pueden cambiar los módulos buildVariant
- ¿Cómo puedo utilizar JARs externos en un proyecto de Android?
- Java.util.zip.ZipException: entrada duplicada con firebase
- Error de plugin de Android 1.3
- Android - Sólo ejecutar la tarea Gradle en la versión de creación de lanzamiento
Según este post
Prueba esto
configurations { firstDebugWearApp firstCustomerTestWearApp firstReleaseWearApp secondDebugWearApp ...// And all the others } dependencies { firstDebugWearApp project(path: ':wear', configuration: 'firstDebug') firstCustomerTestWearApp project(path: ':wear', configuration: 'firstCustomerTest') firstReleaseWearApp project(path: ':wear', configuration: 'firstRelease') secondDebugWearApp project(path: ':wear', configuration: 'secondDebug') secondCustomerTestWearApp project(path: ':wear', configuration: 'secondCustomerTest') secondReleaseWearApp project(path: ':wear', configuration: 'secondRelease') thirdDebugWearApp project(path: ':wear', configuration: 'thirdDebug') thirdCustomerTestWearApp project(path: ':wear', configuration: 'thirdCustomerTest') thirdReleaseWearApp project(path: ':wear', configuration: 'thirdRelease') }