This repository has been archived by the owner on Mar 28, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 180
/
proguard-annotations.txt
117 lines (86 loc) · 3.64 KB
/
proguard-annotations.txt
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#
# This ProGuard configuration file specifies how annotations can be used
# to configure the processing of other code.
# Usage:
# java -jar proguard.jar @annotations.pro -libraryjars annotations.jar ...
#
# Note that the other input/output options still have to be specified.
# If you specify them in a separate file, you can simply include this file:
# -include annotations.pro
#
# You can add any other options that are required. For instance, if you are
# processing a library, you can still include the options from library.pro.
# The annotations are defined in the accompanying jar. For now, we'll start
# with these. You can always define your own annotations, if necessary.
-libraryjars libs/proguardannotations.jar
# The following annotations can be specified with classes and with class
# members.
# @Keep specifies not to shrink, optimize, or obfuscate the annotated class
# or class member as an entry point.
-keep @proguard.annotation.Keep class *
-keepclassmembers class * {
@proguard.annotation.Keep *;
}
# @KeepName specifies not to optimize or obfuscate the annotated class or
# class member as an entry point.
-keepnames @proguard.annotation.KeepName class *
-keepclassmembernames class * {
@proguard.annotation.KeepName *;
}
# The following annotations can only be specified with classes.
# @KeepImplementations and @KeepPublicImplementations specify to keep all,
# resp. all public, implementations or extensions of the annotated class as
# entry points. Note the extension of the java-like syntax, adding annotations
# before the (wild-carded) interface name.
-keep class * implements @proguard.annotation.KeepImplementations *
-keep public class * implements @proguard.annotation.KeepPublicImplementations *
# @KeepApplication specifies to keep the annotated class as an application,
# together with its main method.
-keepclasseswithmembers @proguard.annotation.KeepApplication public class * {
public static void main(java.lang.String[]);
}
# @KeepClassMembers, @KeepPublicClassMembers, and
# @KeepPublicProtectedClassMembers specify to keep all, all public, resp.
# all public or protected, class members of the annotated class from being
# shrunk, optimized, or obfuscated as entry points.
-keepclassmembers @proguard.annotation.KeepClassMembers class * {
*;
}
-keepclassmembers @proguard.annotation.KeepPublicClassMembers class * {
public *;
}
-keepclassmembers @proguard.annotation.KeepPublicProtectedClassMembers class * {
public protected *;
}
# @KeepClassMemberNames, @KeepPublicClassMemberNames, and
# @KeepPublicProtectedClassMemberNames specify to keep all, all public, resp.
# all public or protected, class members of the annotated class from being
# optimized or obfuscated as entry points.
-keepclassmembernames @proguard.annotation.KeepClassMemberNames class * {
*;
}
-keepclassmembernames @proguard.annotation.KeepPublicClassMemberNames class * {
public *;
}
-keepclassmembernames @proguard.annotation.KeepPublicProtectedClassMemberNames class * {
public protected *;
}
# @KeepGettersSetters and @KeepPublicGettersSetters specify to keep all, resp.
# all public, getters and setters of the annotated class from being shrunk,
# optimized, or obfuscated as entry points.
-keepclassmembers @proguard.annotation.KeepGettersSetters class * {
void set*(***);
void set*(int, ***);
boolean is*();
boolean is*(int);
*** get*();
*** get*(int);
}
-keepclassmembers @proguard.annotation.KeepPublicGettersSetters class * {
public void set*(***);
public void set*(int, ***);
public boolean is*();
public boolean is*(int);
public *** get*();
public *** get*(int);
}