opensciencemap / vtm

a vector-tile map library written in java - running on android, desktop and within the browser
GNU Lesser General Public License v3.0
238 stars 176 forks source link

vtm proguard configuration #130

Open AAverin opened 9 years ago

AAverin commented 9 years ago

As described in #126, adding OpenScienceMap to android project may result in more then 64K of methods and fields within one dex file that shows up as a compilation error. One way to avoid that is to use MultiDex https://developer.android.com/tools/building/multidex.html But that significantly slows down installation process of the app. For my LG G2 devices app takes >15 seconds to launch which is not acceptable. Another way to overcome the issue is to remove unused methods using proguard. That would be a must-do thing for release, but it can help even in debug mode while developing.

There is a basic proguard configuration here: https://github.com/opensciencemap/vtm/blob/master/vtm-android/proguard.cfg

Anything related to the library that must be added to configuration? As an example, here is proguard configuration that I usually use with my projects: https://github.com/AAverin/android-skeleton-project/blob/master/app/proguard.config It has quite some library-specific classes.

AAverin commented 9 years ago

Here's proguard configuration that seems to be working fine. It have solved dexing issue for me, at least for now https://gist.github.com/AAverin/30e9315d1e32bc4e788f

AAverin commented 9 years ago

Forgot to mention. This needs to be added to gradle build file: compile 'com.google.code.findbugs:jsr305:2.0.2'

It solves some android-java-proguard issues, not idea how=)