# 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 和 TypeToken 不被混淆 -keep class com.google.gson.** { *; } -keep class com.google.gson.reflect.TypeToken { *; } # 保留与泛型相关的 TypeToken 使用,避免泛型信息丢失 -keep class * extends com.google.gson.reflect.TypeToken { *; } # 保留自定义的类 MyClass 不被混淆 -keep class com.hd.live.wall.wallpapers.dbData.WallData { *; } # 保持 Gson 序列化相关的字段不被混淆 -keepclassmembers class * { @com.google.gson.annotations.SerializedName ; } # 保持 Gson 构造方法不被混淆 -keepclassmembers class com.google.gson.Gson { public (...); } # 保留 Retrofit 的所有类 -keep class retrofit2.** { *; } # 保留 RxJava2 的所有类 -keep class io.reactivex.** { *; } # 保留 CallAdapter 和 Converter 相关类 -keep class retrofit2.adapter.** { *; } -keep class retrofit2.converter.** { *; } # 保留类型 Token、类型适配器等相关类 -keepclassmembers class * { @retrofit2.http.* ; } # 保留 Retrofit 和 OkHttp 的类和构造方法 -keep class retrofit2.** { *; } -keep class okhttp3.** { *; } # 保留 Retrofit 接口和方法 -keep class retrofit2.Retrofit { *; } -keep class retrofit2.Call { *; } -keep class retrofit2.http.** { *; } # 保留所有使用 Retrofit 注解的字段、方法和类 -keepclassmembers class * { @retrofit2.http.* ; } # 保留 Converter 和 CallAdapter 相关类 -keep class retrofit2.converter.** { *; } -keep class retrofit2.adapter.** { *; } # 保留 `@GET`, `@POST` 等注解 -keepclassmembers class * { @retrofit2.http.GET ; @retrofit2.http.POST ; @retrofit2.http.PUT ; @retrofit2.http.DELETE ; @retrofit2.http.PATCH ; @retrofit2.http.Headers ; @retrofit2.http.Query ; @retrofit2.http.Body ; @retrofit2.http.Path ; } # 保留 OkHttp 相关类 -keep class okhttp3.Request { *; } -keep class okhttp3.Response { *; } -keep class okhttp3.OkHttpClient { *; } # 保留 OkHttp 相关的拦截器 -keep class okhttp3.Interceptor { *; } -keep class okhttp3.logging.HttpLoggingInterceptor { *; } # 保留 OkHttp 的构造方法 -keepclassmembers class okhttp3.** { public (...); } # 保留 OkHttpClient 的链式构建方式 -keepclassmembers class okhttp3.OkHttpClient { public okhttp3.OkHttpClient$Builder newBuilder(...); } # 保留 HttpLoggingInterceptor 相关类 -keep class okhttp3.logging.HttpLoggingInterceptor { *; } # 保留 Call 和 Request 方法 -keepclassmembers class okhttp3.Call { public *; } -keepclassmembers class okhttp3.Request { public *; } -keepclassmembers class okhttp3.Response { public *; }