aboutsummaryrefslogtreecommitdiffstats
path: root/main/proguard-project.txt
blob: 230d85fdf3e75d243da03edb870ff6c8dab30292 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# 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 <init>(android.content.Context, android.util.AttributeSet);
}

-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet, int);
}

-keep public class * extends android.view.View {
    public <init>(android.content.Context);
    public <init>(android.content.Context, android.util.AttributeSet);
    public <init>(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.**