diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 50d225cc2..2545b03c5 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -58,37 +58,12 @@ # 屏蔽错误Unresolved class name #noinspection ShrinkerUnresolvedReference -# 保留本地native方法不被混淆 --keepclasseswithmembernames class * { - native ; -} - -# 保留在Activity中的方法参数是view的方法, -# 这样以来我们在layout中写的onClick就不会被影响 --keepclassmembers class * extends android.app.Activity{ - public void *(android.view.View); -} - # 保留枚举类不被混淆 -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -# 保留我们自定义控件(继承自View)不被混淆 --keep public class * extends android.view.View{ - *** get*(); - void set*(***); - public (android.content.Context); - public (android.content.Context, android.util.AttributeSet); - public (android.content.Context, android.util.AttributeSet, int); -} - -# 保留Parcelable序列化类不被混淆 --keep class * implements android.os.Parcelable { - public static final android.os.Parcelable$Creator *; -} - # 保留Serializable序列化的类不被混淆 -keepclassmembers class * implements java.io.Serializable { static final long serialVersionUID; @@ -108,13 +83,6 @@ void *(**On*Listener); } -# webView处理,项目中没有使用到webView忽略即可 --keepclassmembers class * extends android.webkit.WebViewClient { - public void *(android.webkit.WebView, java.lang.String); - public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap); - public boolean *(android.webkit.WebView, java.lang.String); -} - # 移除Log类打印各个等级日志的代码,打正式包的时候可以做为禁log使用,这里可以作为禁止log打印的功能使用 # 记得proguard-android.txt中一定不要加-dontoptimize才起作用 # 另外的一种实现方案是通过BuildConfig.DEBUG的变量来控制 @@ -174,11 +142,11 @@ cn.hutool.core.util.**{*;} -keep class com.gyf.barlibrary.** {*;} # LiveEventBus --keep class androidx.lifecycle.LiveData { +-keepclassmembers class androidx.lifecycle.LiveData { *** mObservers; *** mActiveCount; } --keep class androidx.arch.core.internal.SafeIterableMap { +-keepclassmembers class androidx.arch.core.internal.SafeIterableMap { *** size(); *** putIfAbsent(...); }