|
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.** |