Dependencias de IBM MobileFirst 7

Estoy utilizando la biblioteca de MobileFirst 7 para una aplicación nativa de Android, pero he encontrado que aumenta gravemente el recuento de métodos dex de mi aplicación de Android (empujándola por encima del límite de 65.536 ).

Al agregar el SDK de IBM MobileFirst Platform Foundation a una aplicación nueva o existente con el artículo de Android Studio , agregué lo siguiente a mi build.gradle :

 compile group: 'com.ibm.mobile.foundation', name: 'ibmmobilefirstplatformfoundation', version: '7.1.0.0', ext: 'aar', transitive: true 

De acuerdo con methodscount.com , la biblioteca MobileFirst (y sus dependencias) obtiene 39.364 métodos (60% de la cantidad de métodos disponibles).

Pensé que Proguard podría ayudar a reducir el impacto de usar MobileFirst, pero encontró que el ejemplo proguard-project.txt tiene la siguiente directiva:

 -keep class com.google.** { *;} 

Según lo entiendo, esto efectivamente le dice a Proguard que no quite ninguno de los métodos de Google Guava . Hay otras bibliotecas que MobileFirst tira, pero empecé con la guayaba porque era la más grande.

Entonces decidí mirar en cuánto MobileFirst utilizó la biblioteca de Guava:

 $ unzip ibmmobilefirstplatformfoundation-7.1.0.aar $ jadx --output-dir temp/ classes.jar $ grep -roh . -e 'com.google.common.*' | sort | uniq 

¿Qué encontró cero referencias a cualquiera de la biblioteca de Guava (concedió el descompilador puede faltar algunas de las referencias), pero parece que la dependencia de la guayaba puede ser excluido?

 compile(group: 'com.ibm.mobile.foundation', name: 'ibmmobilefirstplatformfoundation', version: '7.1.0.0', ext: 'aar', transitive: true) { exclude group: 'com.google.guava', module: 'guava' } 

Si ese no es el caso (y excluyendo la guayaba sería un problema) entonces:

  • ¿Hay mejores reglas Proguard que se pueden usar para mantener sólo los métodos que son necesarios en las dependencias de MobileFirst?
  • ¿Pueden también excluirse otras grandes bibliotecas de las que depende MobileFirst?

One Solution collect form web for “Dependencias de IBM MobileFirst 7”

Si no está utilizando la función JSONStore, puede excluir de forma segura lo siguiente:

  • Guayaba
  • Commons-codec.jar
  • Jackson
  • Cómo activar proguard en mi proyecto?
  • ¿Cómo configurar proguard para la aplicación de Android con Google Drive SDK?
  • Exportar aplicación de Android con ProGuard da error de ParseException
  • ProGuard y Gson en Android (ClassCastException)
  • ¿Cómo enseño a ProGuard a deshacerse de algo que es mantener que no estoy usando?
  • Errores de Proguard con jar externo - devuelve el código de error 1
  • Uso de ProGuard con Android.
  • Reducir la biblioteca de Google Play Services para usarla únicamente con Google Analytics
  • Proguard devuelto con el código de error 1. Consulte consola
  • ¿Proguard.cfg es necesario para proyectos de biblioteca?
  • Android Proguard saltar el frasco externo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.