Opciones de envasado basadas en el sabor del producto en gradle

Estoy usando opciones de empaquetado para excluir algunas libs. ¿Es posible tener opciones de envasado basadas en el sabor del producto. Por ejemplo –

android { productFlavors { flavorDimensions 'models' S2 { flavorDimension 'models' minSdkVersion 22 .... } S6 { flavorDimension 'models' minsdkversion 22 .... } } packagingOptions { exclude 'lib/armeabi/libs2.so' exclude 'lib/arm64-v8a/libs6.so } } 

Ahora en código anterior, quiero excluir sólo 'lib/armeabi/libs2.so' en apk generado para s6 sabor y quiere excluir sólo 'lib/arm64-v8a/libs6.so' en apk generado para sabor s2

¿Cómo podemos lograrlo?

He encontrado el mismo problema, y ​​luego, he desarrollado un complemento gradle para resolver esto. Puedes comprobarlo (android-soexcluder) aquí

Es super fácil de usar:

 soexcluder { s2 { exclude 'lib/arm64-v8a/libs6.so' } s6 { exclude 'lib/armeabi/libs2.so' } } 

Además de esto, incluso hay un proyecto de ejemplo dentro del repositorio

  • Creación de la aplicación de brecha telefónica para Android fallando
  • Especificar firma de configuración para Gradle y Cordova 5
  • Los archivos múltiples dex definen <mi paquete> / BuildConfig, no pueden encontrar la causa:
  • No se puede construir el proyecto Gradle con Android Studio
  • Android studio - Error de secuencia de comandos de compilación, no compatible con el método Gradle DSL encontrado: 'android ()'!
  • Cómo instalar el SDK de GMS de Google Play Services en CircleCI
  • Agregar bibliotecas de soporte v7, v13 con gradle no funciona
  • Protocolo de archivo bloqueo inesperado de Android studio
  • ¿Es posible especificar testApplicationId por sabor en Gradle?
  • Pasar parámetros -P a gradle desde android studio
  • DexIndexOverflowException después de actualizar a la última appcompat y la biblioteca de soporte
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.