# We use the general android proguard config. See project.properties for details. # Suppress notes about classes from the general config, which we don't use at all. -dontnote **.ILicensingService -printusage usage.txt -optimizationpasses 2 -dontobfuscate -allowaccessmodification -optimizations !code/simplification/arithmetic,!code/allocation/variable # apache.commons.collections has some bean related collections, which are undefined in Android -dontwarn java.beans.* # rxjava includes references to the test frameworks within their class files -dontwarn org.mockito.** -dontwarn org.junit.** -dontwarn org.robolectric.** # rxjava internal references sun.misc.Unsafe -dontwarn sun.misc.Unsafe # jackson internal references -dontwarn org.w3c.dom.bootstrap.DOMImplementationRegistry #-dontnote org.apache.commons.logging.** -keep class cgeo.geocaching.** { *; } -keep class android.support.v4.os.** { *; } -keep class ch.boye.httpclientandroidlib.conn.scheme.Scheme { *; } -keep class ch.boye.httpclientandroidlib.params.HttpParams { *; } -keep class ch.boye.httpclientandroidlib.client.HttpClient { *; } -dontnote ch.boye.httpclientandroidlib.** -dontwarn ch.boye.httpclientandroidlib.impl.auth.NegotiateScheme -dontwarn org.springframework.** -keepclasseswithmembers class * { public (android.content.Context, android.util.AttributeSet); } -keepclasseswithmembers class * { public (android.content.Context, android.util.AttributeSet, int); } -keep public class * extends android.view.View { public (android.content.Context); public (android.content.Context, android.util.AttributeSet); public (android.content.Context, android.util.AttributeSet, int); public void set*(...); } # The backup agent class is not called from our code. -keep public class cgeo.geocaching.backup.CentralBackupAgent # Butter knife view injection, see http://jakewharton.github.io/butterknife/ -dontwarn butterknife.internal.** -keep class **$$ViewInjector { *; } -keepnames class * { @butterknife.InjectView *;} # Null analysis annotations of Eclipse JDT are just used by the Eclipse compiler, so ignore them here -dontwarn org.eclipse.jdt.annotation.** # keep Emma code coverage during debug builds, and ignore related warnings -keep class com.vladium.** { *; } -dontwarn com.vladium.** # keep some test only utils classes -keep class org.apache.commons.lang3.StringUtils { *; } -keep class org.apache.commons.io.IOUtils { *; } -keep class org.apache.commons.io.FileUtils { *; } # action providers are only referenced from XML -keep public class cgeo.geocaching.sorting.SortActionProvider { *; } -keep public class cgeo.geocaching.ui.NavigationActionProvider { *; } -keep public class cgeo.geocaching.apps.cache.navi.NavigationSelectionActionProvider { *; } # Play Service references to classes introduced in higher API levels -dontwarn com.google.android.gms.**