Android 第三方库混淆proguard-rules,持续更新
16lz
2021-01-23
1. Gson
##---------------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.-keepattributes Signature# For using GSON @Expose annotation-keepattributes *Annotation*# Gson specific classes-dontwarn sun.misc.**#-keep class com.google.gson.stream.** { *; }# Application classes that will be serialized/deserialized over Gson-keep class com.google.gson.examples.android.model.** { ; }# Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory,# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)-keep class * implements com.google.gson.TypeAdapter-keep class * implements com.google.gson.TypeAdapterFactory-keep class * implements com.google.gson.JsonSerializer-keep class * implements com.google.gson.JsonDeserializer# Prevent R8 from leaving Data object members always null-keepclassmembers,allowobfuscation class * { @com.google.gson.annotations.SerializedName ;}##---------------End: proguard configuration for Gson ----------
官网链接:https://github.com/google/gson/blob/master/examples/android-proguard-example/proguard.cfg
2. Retrofit
# Retrofit does reflection on generic parameters. InnerClasses is required to use Signature and# EnclosingMethod is required to use InnerClasses.-keepattributes Signature, InnerClasses, EnclosingMethod# Retrofit does reflection on method and parameter annotations.-keepattributes RuntimeVisibleAnnotations, RuntimeVisibleParameterAnnotations# Retain service method parameters when optimizing.-keepclassmembers,allowshrinking,allowobfuscation interface * { @retrofit2.http.* ;}# Ignore annotation used for build tooling.-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement# Ignore JSR 305 annotations for embedding nullability information.-dontwarn javax.annotation.**# Guarded by a NoClassDefFoundError try/catch and only used when on the classpath.-dontwarn kotlin.Unit# Top-level functions that can only be used by Kotlin.-dontwarn retrofit2.KotlinExtensions-dontwarn retrofit2.KotlinExtensions$*# With R8 full mode, it sees no subtypes of Retrofit interfaces since they are created with a Proxy# and replaces all potential values with null. Explicitly keeping the interfaces prevents this.-if interface * { @retrofit2.http.* ; }-keep,allowobfuscation interface <1>
官网链接:https://github.com/square/retrofit/blob/master/retrofit/src/main/resources/META-INF/proguard/retrofit2.pro
3. okhttp
# JSR 305 annotations are for embedding nullability information.-dontwarn javax.annotation.**# A resource is loaded with a relative path so the package of this class must be preserved.-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java.-dontwarn org.codehaus.mojo.animal_sniffer.*# OkHttp platform used only on JVM and when Conscrypt dependency is available.-dontwarn okhttp3.internal.platform.ConscryptPlatform
官网链接:https://github.com/square/okhttp/blob/master/okhttp/src/main/resources/META-INF/proguard/okhttp3.pro
4. okio
# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java.-dontwarn org.codehaus.mojo.animal_sniffer.*
官网链接:https://github.com/square/okio/blob/master/okio/src/jvmMain/resources/META-INF/proguard/okio.pro
5. ARouter
-keep public class com.alibaba.android.arouter.routes.**{*;}-keep public class com.alibaba.android.arouter.facade.**{*;}-keep class * implements com.alibaba.android.arouter.facade.template.ISyringe{*;}# If you use the byType method to obtain Service, add the following rules to protect the interface:-keep interface * implements com.alibaba.android.arouter.facade.template.IProvider# If single-type injection is used, that is, no interface is defined to implement IProvider, the following rules need to be added to protect the implementation# -keep class * implements com.alibaba.android.arouter.facade.template.IProvider
官网地址:https://github.com/alibaba/ARouter
更多相关文章
- android 获取mac地址
- android 开发工具下载地址
- Android ADT & SDK离线下载地址
- android 学习链接大集合
- Android的ContextMenu(上下文菜单)知识链接汇总
- android browser 的几个小feature (一) 链接保存书签
- Android 实现TextView中 文字链接的方式
- Android 实现TextView中文字链接的方式