mirror of
https://github.com/KitsunePie/AppErrorsTracking.git
synced 2025-09-01 08:45:16 +08:00
76 lines
2.7 KiB
Prolog
76 lines
2.7 KiB
Prolog
# Add project specific ProGuard rules here.
|
|
# You can control the set of applied configuration files using the
|
|
# proguardFiles setting in build.gradle.
|
|
#
|
|
# For more details, see
|
|
# http://developer.android.com/guide/developing/tools/proguard.html
|
|
|
|
# If your project uses WebView with JS, uncomment the following
|
|
# and specify the fully qualified class name to the JavaScript interface
|
|
# class:
|
|
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
|
# public *;
|
|
#}
|
|
|
|
# Uncomment this to preserve the line number information for
|
|
# debugging stack traces.
|
|
#-keepattributes SourceFile,LineNumberTable
|
|
|
|
# If you keep the line number information, uncomment this to
|
|
# hide the original source file name.
|
|
#-renamesourcefileattribute SourceFile
|
|
|
|
-ignorewarnings
|
|
-optimizationpasses 10
|
|
-dontusemixedcaseclassnames
|
|
-dontoptimize
|
|
-verbose
|
|
-overloadaggressively
|
|
-allowaccessmodification
|
|
-adaptclassstrings
|
|
-adaptresourcefilenames
|
|
-adaptresourcefilecontents
|
|
|
|
-renamesourcefileattribute P
|
|
-keepattributes SourceFile,Signature,LineNumberTable
|
|
|
|
## ---------------Begin: proguard configuration for Gson ----------
|
|
# Gson uses generic type information stored in a class file when working with fields. Proguard
|
|
# removes such information by default, so configure it to keep all of it.
|
|
|
|
# Explicitly preserve all serialization members. The Serializable interface
|
|
# is only a marker interface, so it wouldn't save them.
|
|
-keepclassmembers class * implements java.io.Serializable {
|
|
static final long serialVersionUID;
|
|
private static final java.io.ObjectStreamField[] serialPersistentFields;
|
|
private void writeObject(java.io.ObjectOutputStream);
|
|
private void readObject(java.io.ObjectInputStream);
|
|
java.lang.Object writeReplace();
|
|
java.lang.Object readResolve();
|
|
}
|
|
|
|
# Gson specific classes
|
|
-dontwarn sun.misc.**
|
|
-keep class com.google.gson.stream.** { *; }
|
|
|
|
# Prevent R8 from leaving Data object members always null
|
|
-keepclassmembers,allowobfuscation class * {
|
|
@com.google.gson.annotations.SerializedName <fields>;
|
|
}
|
|
|
|
# Retain generic signatures of TypeToken and its subclasses with R8 version 3.0 and higher.
|
|
-keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken
|
|
-keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken
|
|
|
|
## ---------------End: proguard configuration for Gson ----------
|
|
|
|
-assumenosideeffects class kotlin.jvm.internal.Intrinsics {
|
|
public static *** throwUninitializedProperty(...);
|
|
public static *** throwUninitializedPropertyAccessException(...);
|
|
}
|
|
|
|
-keep class * extends android.app.Activity
|
|
-keep class * implements androidx.viewbinding.ViewBinding {
|
|
<init>();
|
|
*** inflate(android.view.LayoutInflater);
|
|
} |