34 lines
1.2 KiB
Prolog
34 lines
1.2 KiB
Prolog
# Note: We intentionally don't add the flags we'd need to make Flags and Enums
|
|
# work. That's because the Proguard configuration required to make them work on
|
|
# optimized code would preclude lots of optimization, like converting enums
|
|
# into ints.
|
|
|
|
# Throwables uses internal APIs for lazy stack trace resolution
|
|
-dontnote sun.misc.SharedSecrets
|
|
-keep class sun.misc.SharedSecrets {
|
|
*** getJavaLangAccess(...);
|
|
}
|
|
-dontnote sun.misc.JavaLangAccess
|
|
-keep class sun.misc.JavaLangAccess {
|
|
*** getStackTraceElement(...);
|
|
*** getStackTraceDepth(...);
|
|
}
|
|
|
|
# FinalizableReferenceQueue calls this reflectively
|
|
# Proguard is intelligent enough to spot the use of reflection onto this, so we
|
|
# only need to keep the names, and allow it to be stripped out if
|
|
# FinalizableReferenceQueue is unused.
|
|
-keepnames class com.google.common.base.internal.Finalizer {
|
|
*** startFinalizer(...);
|
|
}
|
|
# However, it cannot "spot" that this method needs to be kept IF the class is.
|
|
-keepclassmembers class com.google.common.base.internal.Finalizer {
|
|
*** startFinalizer(...);
|
|
}
|
|
-keepnames class com.google.common.base.FinalizableReference {
|
|
void finalizeReferent();
|
|
}
|
|
-keepclassmembers class com.google.common.base.FinalizableReference {
|
|
void finalizeReferent();
|
|
}
|