1 # This is a configuration file for ProGuard.
2 # http://proguard.sourceforge.net/index.html#manual/usage.html
3 #
4 # Starting with version 2.2 of the Android plugin for Gradle, this file is distributed together with
5 # the plugin and unpacked at build-time. The files in $ANDROID_HOME are no longer maintained and
6 # will be ignored by new version of the Android plugin for Gradle.
7
8 # Optimizations: If you don't want to optimize, use the proguard-android.txt configuration file
9 # instead of this one, which turns off the optimization flags.
10 -allowaccessmodification
11
12 # Preserve some attributes that may be required for reflection.
13 -keepattributes AnnotationDefault,
14 EnclosingMethod,
15 InnerClasses,
16 RuntimeVisibleAnnotations,
17 RuntimeVisibleParameterAnnotations,
18 RuntimeVisibleTypeAnnotations,
19 Signature
20
21 -keep public class com.google.vending.licensing.ILicensingService
22 -keep public class com.android.vending.licensing.ILicensingService
23 -keep public class com.google.android.vending.licensing.ILicensingService
24 -dontnote com.android.vending.licensing.ILicensingService
25 -dontnote com.google.vending.licensing.ILicensingService
26 -dontnote com.google.android.vending.licensing.ILicensingService
27
28 # For native methods, see https://www.guardsquare.com/manual/configuration/examples#native
29 -keepclasseswithmembernames,includedescriptorclasses class * {
30 native <methods>;
31 }
32
33 # Keep setters in Views so that animations can still work.
34 -keepclassmembers public class * extends android.view.View {
35 void set*(***);
36 *** get*();
37 }
38
39 # We want to keep methods in Activity that could be used in the XML attribute onClick.
40 -keepclassmembers class * extends android.app.Activity {
41 public void *(android.view.View);
42 }
43
44 # For enumeration classes, see https://www.guardsquare.com/manual/configuration/examples#enumerations
45 -keepclassmembers enum * {
46 public static **[] values();
47 public static ** valueOf(java.lang.String);
48 }
49
50 -keepclassmembers class * implements android.os.Parcelable {
51 public static final ** CREATOR;
52 }
53
54 # Preserve annotated Javascript interface methods.
55 -keepclassmembers class * {
56 @android.webkit.JavascriptInterface <methods>;
57 }
58
59 # The support libraries contains references to newer platform versions.
60 # Don't warn about those in case this app is linking against an older
61 # platform version. We know about them, and they are safe.
62 -dontnote android.support.**
63 -dontnote androidx.**
64 -dontwarn android.support.**
65 -dontwarn androidx.**
66
67 # Understand the @Keep support annotation.
68 -keep class android.support.annotation.Keep
69
70 -keep @android.support.annotation.Keep class * {*;}
71
72 -keepclasseswithmembers class * {
73 @android.support.annotation.Keep <methods>;
74 }
75
76 -keepclasseswithmembers class * {
77 @android.support.annotation.Keep <fields>;
78 }
79
80 -keepclasseswithmembers class * {
81 @android.support.annotation.Keep <init>(...);
82 }
83
84 # These classes are duplicated between android.jar and org.apache.http.legacy.jar.
85 -dontnote org.apache.http.**
86 -dontnote android.net.http.**
87
88 # These classes are duplicated between android.jar and core-lambda-stubs.jar.
89 -dontnote java.lang.invoke.**