-
Notifications
You must be signed in to change notification settings - Fork 0
/
proguard.pro
68 lines (52 loc) · 2.63 KB
/
proguard.pro
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
-verbose
# Preserving `java` modules via the configuration in `libs/build.gradle`
# - If the `java.lang` class is not found, make sure your local `java.home` and `java.version` are set correctly.
# E.g. by reinstalling `sudo apt install openjdk-11-jdk`
# Preserve all public classes, and their public and protected fields and
# methods.
-keep public class * {
public protected *;
}
# Preserve parameter names
-keepparameternames
# Preserve the special static methods that are required in all enumeration
# classes.
-keepclassmembers,allowoptimization enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
# Explicitly preserve all serialization members. The Serializable interface
# is only a marker interface, so it wouldn't save them.
# You can comment this out if your library doesn't use serialization.
# If your code contains serializable classes that have to be backward
# compatible, please refer to the manual.
-keepnames class * implements java.io.Serializable
-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
private static final java.io.ObjectStreamField[] serialPersistentFields;
!static !transient <fields>;
!private <fields>;
!private <methods>;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}
# The following three settings are necessary to use Java 8 Inline Lambda Expressions
# See: https://sourceforge.net/p/proguard/bugs/545/
-keepclassmembers class * {
private static synthetic java.lang.Object $deserializeLambda$(java.lang.invoke.SerializedLambda);
}
-keepclassmembernames class * {
private static synthetic *** lambda$*(...);
}
-adaptclassstrings com.example.Test
# This is required to be able to use JDBC Drivers.
-keep class * implements java.sql.Driver
-optimizationpasses 3
-repackageclasses de.cyface
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod
-dontskipnonpubliclibraryclasses
# Protobuf uses reflections so this is needed
# See https://github.com/protocolbuffers/protobuf/issues/6463
-keep class * extends com.google.protobuf.GeneratedMessageLite { *; }