70 lines
2.2 KiB
Prolog
70 lines
2.2 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
|
||
# 保留 Gson 核心类
|
||
-keep class com.google.gson.** { *; }
|
||
-keep class com.google.gson.stream.** { *; }
|
||
|
||
# 保留所有注解
|
||
-keepattributes *Annotation*
|
||
-keepattributes Signature
|
||
|
||
# 保留枚举类
|
||
-keepclassmembers enum * {
|
||
public static **[] values();
|
||
public static ** valueOf(java.lang.String);
|
||
}
|
||
|
||
# 保留所有模型类(根据你的包结构调整)
|
||
-keep class com.example.studyapp.pad.** { *; }
|
||
-keep class com.example.studyapp.task.** { *; }
|
||
-keep class com.example.studyapp.update.ApiResponse{ *; }
|
||
-keep class com.example.studyapp.update.ApiResponseList{ *; }
|
||
|
||
# 保留所有使用 @SerializedName 注解的字段
|
||
-keepclassmembers class * {
|
||
@com.google.gson.annotations.SerializedName <fields>;
|
||
}
|
||
|
||
# 保留所有模型类的无参构造函数
|
||
-keepclassmembers class com.example.studyapp.pad.** {
|
||
public <init>();
|
||
}
|
||
|
||
# 保留类型适配器
|
||
-keep class * extends com.google.gson.TypeAdapter {
|
||
public com.google.gson.TypeAdapter create(com.google.gson.Gson, com.google.gson.reflect.TypeToken);
|
||
}
|
||
# 保留 Gson 创建的类
|
||
-keep class com.google.gson.examples.android.model.** { *; }
|
||
-keepattributes Signature
|
||
|
||
# 保留 TypeToken 类及其子类
|
||
-keep class com.google.gson.reflect.TypeToken { *; }
|
||
-keep class * extends com.google.gson.reflect.TypeToken
|
||
|
||
-keep class sun.misc.Unsafe { *; }
|
||
|
||
# 保留注解信息
|
||
-keepattributes *Annotation*
|
||
|
||
# 保留 Kotlin 元数据(如果使用 Kotlin)
|
||
-keepclassmembers class **$TypeToken { *; } |