aboutsummaryrefslogtreecommitdiffstats
path: root/proguard.flags
blob: 4714ce48ee4287a4bcea9f7da089832d8b17a00d (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
#configuration
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*

#keep common classes
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider

#keep all classes that might be used in XML layouts
-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*(...);
}
-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet, int);
}

#keep callback methods (onClick, onOption...)
-keepclassmembers class * extends android.content.Context {
   public void *(android.view.View);
   public void *(android.view.MenuItem);
}

#keep parcelable constructors
-keepclassmembers class * implements android.os.Parcelable {
    static android.os.Parcelable$Creator CREATOR;
}

#keep all resource identifiers
-keep class **.R$*
-keepclassmembers class **.R$* {
    public static <fields>;
}

#keep StorageManager access
-keep public class android.os.storage.StorageManager {
    android.os.storage.StorageVolume[] getVolumeList();
}

#keep preference's classes
-keep public class * extends android.preference.PreferenceFragment {
  public <init>(...);
}
-keep public class * extends android.preference.Preference {
  public <init>(...);
}

#keep library packages
-keep public class de.schlichtherle.truezip.** {
  public protected *;
}
-keep public class libtruezip.** {
  public protected *;
}

# No android.support.v7 related build errors
-keep public class android.support.v7.widget.RecyclerView
-keep public class android.support.v7.widget.LinearLayoutManager
-keep public class android.support.v7.widget.RecyclerView$Adapter
-keep public class android.support.v7.widget.RecyclerView$LayoutManager

-dontwarn android.support.v7.**