IBM MobileFirst 7 Dependencies

I use the MobileFirst 7 library for my own Android application, but have found that it strictly increases the number of dex tags of my Android application (clicking on the 65,536 limit ).

Per adding the IBM MobileFirst Platform Foundation SDK to a new or existing application with Android Studio , I added the following to mybuild.gradle

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

According to methodscount.com , the MobileFirst library (and its dependencies) retrieves a whopping 39,364 methods (60% of the available dex account method)!

I figured that Proguard could help reduce the impact of using MobileFirst, but found that the proguard-project.txt example has the following directive:

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

, Proguard - Google Guava. , MobileFirst , Guava, .

, MobileFirst Guava:

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

Guava ( ), , Guava ?

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

( Guava ), :

  • Proguard, , MobileFirst?
  • , MobileFirst?
+4
1

JSONStore, :

  • guava.jar
  • -codec.jar
  • - *
+1

Source: https://habr.com/ru/post/1656136/


All Articles