Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


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:

  • Enlace de datos de Android: 'No se encontró identificador de recurso para el atributo'
  • Cómo cargar un ImageView por URL en Android?
  • Android backup / restore: cómo hacer una copia de seguridad de una base de datos interna?
  • Restricción del uso de una clave de Android para una API de Google
  • Cómo forzar el icono de desbordamiento de barra de acción para mostrar
  • Cómo evitar que el servicio enlazado se destruya mientras cambia el tiempo de ejecución de la actividad (por ejemplo: orientación)
  •  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: uso no válido de SingleClientConnManager: conexión aún asignada
  • Crashlytics deprecating logException () ¿cuál es el reemplazo?
  • No encontró la clase "android.support.multidex.MultiDexApplication" en la ruta: DexPathList
  • VideoView en Viewpager, detener el vídeo al cambiar de página
  • Android - guardar la imagen en la galería
  • Construya androide con gradle, substituya la cadena cada sabor del producto
  • One Solution collect form web for “Android proyecto de desgaste con 3 sabores, 3 buildTypes y 2 applicationIdSuffixes”

    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') } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.