Android Studio crear una variante de construcción / tipo excluyendo jniLibs?

Tengo una aplicación de Android que utiliza una biblioteca nativa JNI. Lo puse en app/src/main/jniLibs/armeabi-v7a sin ninguna configuración de gradle y Android studio felizmente lo agrupa en el APK.

Tengo un requisito en el que todas las bibliotecas nativas no pueden ser agrupadas con una determinada distribución. ¿Es posible crear una variante de construcción o tipo de compilación que simplemente excluye todas las bibliotecas nativas (tal vez incluso por nombre .so ).

El hecho de que la biblioteca nativa falta en esta distribución no importa porque no se usa. La alternativa es quitar físicamente los archivos, ejecutar la compilación, ponerlos de nuevo. Sin embargo, esto es doloroso y propenso a errores.

De su build.gradle , podemos ser capaces de saber qué se debe hacer con precisión.

He utilizado productFlavours , combinado con flavorDimensions para implementar compilaciones que pueden o no incluir bibliotecas jni.

De lo que he entendido, la esencia de ello es: productFlavors permiten tener n variantes de x, y … tipo, la adición de flavorDimensions le permitiría tener n variantes de tipo xy.

P.ej. Dentro de build.gradle ,

  flavorDimensions "abi", "version" //this is what can help you build with/w/o jni libraries productFlavors { devel { flavorDimension "abi" //keep a dimension common with arm, armv7 applicationId "com.packagename.dev" } prod { flavorDimension "version" // this would be your build w/o the ndk support then applicationId "com.packageName" } armv7 { ndk { flavorDimension "abi" abiFilter "armeabi-v7a" } } arm { ndk { flavorDimension "abi" abiFilter "armeabi" } } } 

Como puede ver, tendrá múltiples variantes de construcción, sabores de producto dependiendo de flavorDimension .

prod sabor sería una variante de construcción o tipo de construcción que simplemente excluye todas las bibliotecas nativas

Fuentes de temas ndk, jniLibs, buildFlavours …:
– Dominando "Flavors de productos" en Android
– ndk-con-android-estudio
– configuración multi sabor

  • Cambiar la ubicación del indicador en ExpandableListView causando problemas
  • Android adecuada limpieza / eliminación
  • Combine Realm.io y Firebase
  • Cómo consultar el SpeechRecognizer predeterminado
  • Compartir y almacenar RSA - clave pública en el servidor java y viceversa
  • Error de instalación: Error desconocido Aplicación para Android
  • Cómo analizar con GSON cuando el identificador tiene espacio en el nombre
  • Android, NoSuchFieldError al iniciar la segunda actividad
  • OOP diseño vs rendimiento en los teléfonos inteligentes
  • Extraer la URL de HttpPost Android
  • FileNotFoundException con Universal Image Loader
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.