128 lines
3.8 KiB
Plaintext
128 lines
3.8 KiB
Plaintext
###############################################################################
|
|
# General settings.
|
|
###############################################################################
|
|
|
|
-verbose
|
|
|
|
# We can debug the ProGuard configuration by instrumenting the code and
|
|
# checking the log for feedback. Disable the option again for actual releases!
|
|
|
|
#-addconfigurationdebugging
|
|
|
|
# We can also disable the individual processing steps.
|
|
|
|
#-dontshrink
|
|
#-dontoptimize
|
|
#-dontobfuscate
|
|
|
|
# Specifically target Android.
|
|
|
|
-android
|
|
|
|
|
|
###############################################################################
|
|
# Settings to handle reflection in the code.
|
|
###############################################################################
|
|
|
|
# Preserve annotated and generated classes for Dagger.
|
|
|
|
-keepclassmembers,allowobfuscation class * {
|
|
@dagger.** *;
|
|
}
|
|
|
|
-keep class **$$ModuleAdapter
|
|
-keep class **$$InjectAdapter
|
|
-keep class **$$StaticInjection
|
|
|
|
-if class **$$ModuleAdapter
|
|
-keep class <1>
|
|
|
|
-if class **$$InjectAdapter
|
|
-keep class <1>
|
|
|
|
-if class **$$StaticInjection
|
|
-keep class <1>
|
|
|
|
-keepnames class dagger.Lazy
|
|
|
|
# Preserve annotated and generated classes for Butterknife.
|
|
|
|
-keep class **$$ViewBinder {
|
|
public static void bind(...);
|
|
public static void unbind(...);
|
|
}
|
|
|
|
-if class **$$ViewBinder
|
|
-keep class <1>
|
|
|
|
-keep class **_ViewBinding {
|
|
<init>(<1>, android.view.View);
|
|
}
|
|
|
|
-if class **_ViewBinding
|
|
-keep class <1>
|
|
|
|
# Preserve fields that are serialized with GSON.
|
|
|
|
#-keepclassmembers class com.example.SerializedClass1,
|
|
# com.example.SerializedClass2 {
|
|
# <fields>;
|
|
#}
|
|
|
|
-keepclassmembers,allowobfuscation class * {
|
|
@com.google.gson.annotations.SerializedName <fields>;
|
|
}
|
|
|
|
-keep,allowobfuscation @interface com.google.gson.annotations.**
|
|
|
|
|
|
###############################################################################
|
|
# Further optimizations.
|
|
###############################################################################
|
|
|
|
# If you wish, you can let the optimization step remove Android logging calls.
|
|
|
|
#-assumenosideeffects class android.util.Log {
|
|
# public static boolean isLoggable(java.lang.String, int);
|
|
# public static int v(...);
|
|
# public static int i(...);
|
|
# public static int w(...);
|
|
# public static int d(...);
|
|
# public static int e(...);
|
|
#}
|
|
|
|
# In that case, it's especially useful to also clean up any corresponding
|
|
# string concatenation calls.
|
|
|
|
-assumenoexternalsideeffects class java.lang.StringBuilder {
|
|
public java.lang.StringBuilder();
|
|
public java.lang.StringBuilder(int);
|
|
public java.lang.StringBuilder(java.lang.String);
|
|
public java.lang.StringBuilder append(java.lang.Object);
|
|
public java.lang.StringBuilder append(java.lang.String);
|
|
public java.lang.StringBuilder append(java.lang.StringBuffer);
|
|
public java.lang.StringBuilder append(char[]);
|
|
public java.lang.StringBuilder append(char[], int, int);
|
|
public java.lang.StringBuilder append(boolean);
|
|
public java.lang.StringBuilder append(char);
|
|
public java.lang.StringBuilder append(int);
|
|
public java.lang.StringBuilder append(long);
|
|
public java.lang.StringBuilder append(float);
|
|
public java.lang.StringBuilder append(double);
|
|
public java.lang.String toString();
|
|
}
|
|
|
|
-assumenoexternalreturnvalues class java.lang.StringBuilder {
|
|
public java.lang.StringBuilder append(java.lang.Object);
|
|
public java.lang.StringBuilder append(java.lang.String);
|
|
public java.lang.StringBuilder append(java.lang.StringBuffer);
|
|
public java.lang.StringBuilder append(char[]);
|
|
public java.lang.StringBuilder append(char[], int, int);
|
|
public java.lang.StringBuilder append(boolean);
|
|
public java.lang.StringBuilder append(char);
|
|
public java.lang.StringBuilder append(int);
|
|
public java.lang.StringBuilder append(long);
|
|
public java.lang.StringBuilder append(float);
|
|
public java.lang.StringBuilder append(double);
|
|
}
|