Browse Source

1:修改混淆配置文件。

guiying712 8 years ago
parent
commit
01ad14ab4b

+ 284 - 297
lib_common/proguard-rules.pro

@@ -1,311 +1,298 @@
 # Add project specific ProGuard rules here.
- # By default, the flags in this file are appended to flags specified
- # in D:\SDK/tools/proguard/proguard-android.txt
- # You can edit the include path and order by changing the proguardFiles
- # directive in build.gradle.
- #
- # For more details, see
- #   http://developer.android.com/guide/developing/tools/proguard.html
-
- # Add any project specific keep options here:
-
- # 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 *;
- #}
- #---------------------------------基本指令区----------------------------------
- -ignorewarnings
- -dontusemixedcaseclassnames   # 是否使用大小写混合
- -dontpreverify           # 混淆时是否做预校验
- -verbose                # 混淆时是否记录日志
- -printmapping proguardMapping.txt
- -optimizationpasses 5   # 指定代码的压缩级别
- -dontskipnonpubliclibraryclassmembers
-
-
- -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
- -keepattributes *Annotation*,InnerClasses
- -keepattributes Signature # 避免混淆泛型
- -keepattributes EnclosingMethod
- -keepattributes SourceFile,LineNumberTable #运行抛出异常时保留代码行号
- -keepattributes Exceptions # 解决AGPBI警告
-
- #继承自activity,application,service,broadcastReceiver,contentprovider....不进行混淆
- -keep public class * extends android.app.Activity
- -keep public class * extends android.app.Application
- -keep public class * extends android.support.multidex.MultiDexApplication
- -keep public class * extends android.app.Service
- -keep public class * extends android.content.BroadcastReceiver
- -keep public class * extends android.content.ContentProvider
- -keep public class * extends android.app.backup.BackupAgentHelper
- -keep public class * extends android.preference.Preference
- -keep public class * extends android.view.View
- -keep public class com.android.vending.licensing.ILicensingService
- -keep class android.support.** {*;}
-
- # 所有View的子类及其子类的get、set方法都不进行混淆
- -keep public class * extends android.view.View{
-     *** get*();
-     void set*(***);
-     public <init>(android.content.Context);
-     public <init>(android.content.Context, android.util.AttributeSet);
-     public <init>(android.content.Context, android.util.AttributeSet, int);
- }
-
- -keepclasseswithmembers class * {
-     public <init>(android.content.Context, android.util.AttributeSet);
-     public <init>(android.content.Context, android.util.AttributeSet, int);
- }
-
- # 这个主要是在layout 中写的onclick方法android:onclick="onClick",不进行混淆
- -keepclassmembers class * extends android.app.Activity {
-    public void *(android.view.View);
- }
-
-
- # 对于带有回调函数onXXEvent的,不能被混淆
- -keepclassmembers class * {
-     void *(*Event);
- }
-
- # 枚举类不能被混淆
- -keepclassmembers enum * {
-     public static **[] values();
-     public static ** valueOf(java.lang.String);
- }
-
- # natvie 方法不混淆
- -keepclasseswithmembernames class * {
-     native <methods>;
- }
- #litepal数据库不能被混淆
- -keep class org.litepal.** {
-     *;
- }
- -keep class * extends org.litepal.crud.DataSupport {
-     *;
- }
-
- #Glide不能被混淆
- -keep public class * implements com.bumptech.glide.module.GlideModule
- -keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
-   **[] $VALUES;
+# By default, the flags in this file are appended to flags specified
+# in D:\SDK/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the proguardFiles
+# directive in build.gradle.
+#
+# For more details, see
+#   http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
+
+# 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 *;
+#}
+#---------------------------------基本指令区----------------------------------
+-ignorewarnings
+-dontusemixedcaseclassnames   # 是否使用大小写混合
+-dontpreverify           # 混淆时是否做预校验
+-verbose                # 混淆时是否记录日志
+-printmapping proguardMapping.txt
+-optimizationpasses 5   # 指定代码的压缩级别
+-dontskipnonpubliclibraryclassmembers
+
+
+-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
+-keepattributes *Annotation*,InnerClasses
+-keepattributes Signature # 避免混淆泛型
+-keepattributes EnclosingMethod
+-keepattributes SourceFile,LineNumberTable #运行抛出异常时保留代码行号
+-keepattributes Exceptions # 解决AGPBI警告
+
+#继承自activity,application,service,broadcastReceiver,contentprovider....不进行混淆
+-keep public class * extends android.app.Activity
+-keep public class * extends android.app.Application
+-keep public class * extends android.support.multidex.MultiDexApplication
+-keep public class * extends android.app.Service
+-keep public class * extends android.content.BroadcastReceiver
+-keep public class * extends android.content.ContentProvider
+-keep public class * extends android.app.backup.BackupAgentHelper
+-keep public class * extends android.preference.Preference
+-keep public class * extends android.view.View
+-keep public class com.android.vending.licensing.ILicensingService
+-keep class android.support.** {*;}
+
+# 所有View的子类及其子类的get、set方法都不进行混淆
+-keep public class * extends android.view.View{
+    *** get*();
+    void set*(***);
+    public <init>(android.content.Context);
+    public <init>(android.content.Context, android.util.AttributeSet);
+    public <init>(android.content.Context, android.util.AttributeSet, int);
+}
+
+# 这个主要是在layout 中写的onclick方法android:onclick="onClick",不进行混淆
+-keepclassmembers class * extends android.app.Activity {
+   public void *(android.view.View);
+}
+
+
+# 对于带有回调函数onXXEvent的,不能被混淆
+-keepclassmembers class * {
+    void *(*Event);
+}
+
+# 枚举类不能被混淆
+-keepclassmembers enum * {
+    public static **[] values();
+    public static ** valueOf(java.lang.String);
+}
+
+# natvie 方法不混淆
+-keepclasseswithmembernames class * {
+    native <methods>;
+}
+
+# 保持 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;
+    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();
+}
+
+# 不混淆R类里及其所有内部static类中的所有static变量字段
+-keep public class com.guiying.androidmodulepattern.R$*{
+    public static final int *;
+}
+
+
+-keepclassmembers class * {
+   public <init> (org.json.JSONObject);
+}
+
+#---------------------------------webview------------------------------------
+-keepclassmembers class fqcn.of.javascript.interface.for.webview {
    public *;
- }
-
- # 保持 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;
-     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();
- }
-
- # 不混淆R类里及其所有内部static类中的所有static变量字段
- -keep public class com.guiying.androidmodulepattern.R$*{
-     public static final int *;
- }
-
- # $是用来分割内嵌类与其母体的标志
- -keep class **.R$* {
-  *;
- }
+}
+-keepclassmembers class * extends android.webkit.webViewClient {
+    public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap);
+    public boolean *(android.webkit.WebView, java.lang.String);
+}
 
+#---------------------------------实体类---------------------------------
 
- -keepclassmembers class * {
-    public <init> (org.json.JSONObject);
- }
-
- #---------------------------------webview------------------------------------
- -keepclassmembers class fqcn.of.javascript.interface.for.webview {
-    public *;
- }
- -keepclassmembers class * extends android.webkit.webViewClient {
-     public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap);
-     public boolean *(android.webkit.WebView, java.lang.String);
- }
 
-#---------------------------------实体类---------------------------------
+#---------------------------------第三方包-------------------------------
+#litepal数据库不能被混淆
+-keep class org.litepal.** {*;}
+-keep class * extends org.litepal.crud.DataSupport {*;}
 
+#Glide不能被混淆
+-keep public class * implements com.bumptech.glide.module.GlideModule
+-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
+  **[] $VALUES;
+  public *;
+}
 
 
- #---------------------------------第三方包-------------------------------
 #activityrouter
 -keep class com.github.mzule.activityrouter.router.** { *; }
 
- #友盟统计
- -keep class com.umeng.analytics.** {*;}
- -dontwarn com.umeng.analytics.**
-
-
- #换肤框架的混淆文件
- -keep class solid.ren.skinlibrary.** {*;}
- -dontwarn solid.ren.skinlibrary.**
-
- #高德相关混淆文件
- #3D 地图
- -keep class com.amap.api.** {*;}
- -keep class com.autonavi.** {*;}
- -keep class com.a.a.** {*;}
- -keep class com.loc.** {*;}
- -dontwarn com.amap.api.**
- -dontwarn com.autonavi.**
- -dontwarn com.a.a.**
- -dontwarn com.loc.**
-
-
- # simple-xml-core的SDK
- -keep class org.simpleframework.xml.** {*;}
- -dontwarn org.simpleframework.xml.**
-
- # acra的 SDK
- -keep class org.acra.** {*;}
- -dontwarn org.acra.**
-
- # 网络请求库async-http
- -keep class com.loopj.android.http.** {*;}
- -dontwarn com.loopj.android.http.**
-
-
- #pinyin4j
- -dontwarn net.soureceforge.pinyin4j.**
- -dontwarn demo.**
- -keep class net.sourceforge.pinyin4j.** { *;}
- -keep class demo.** { *;}
- -keep class com.hp.** { *;}
-
- #httpclient (org.apache.http.legacy.jar)
- -dontwarn android.net.compatibility.**
- -dontwarn android.net.http.**
- -dontwarn com.android.internal.http.multipart.**
- -dontwarn org.apache.commons.**
- -dontwarn org.apache.http.**
- -dontwarn org.apache.http.protocol.**
- -keep class android.net.compatibility.**{*;}
- -keep class android.net.http.**{*;}
- -keep class com.android.internal.http.multipart.**{*;}
- -keep class org.apache.commons.**{*;}
- -keep class org.apache.org.**{*;}
- -keep class org.apache.harmony.**{*;}
-
- #图表库
- -keep class com.github.mikephil.charting.** {*;}
- -dontwarn com.github.mikephil.charting.**
-
- # 讯飞语音
- -keep class com.chinaMobile.** {*;}
- -keep class com.iflytek.** {*;}
- -keep class com.iflytek.sunflower.** {*;}
- -dontwarn com.iflytek.sunflower.**
- -dontwarn com.chinaMobile.**
- -dontwarn com.iflytek.**
-
- # greenDao混淆
- -keep class de.greenrobot.dao.** {*;}
- -keepclassmembers class * extends de.greenrobot.dao.AbstractDao {
-     public static Java.lang.String TABLENAME;
- }
- -keep class **$Properties
-
- # gson
- -keep class com.google.gson.** {*;}
- -keep class com.google.**{*;}
- -keep class sun.misc.Unsafe { *; }
- -keep class com.google.gson.stream.** { *; }
- -keep class com.google.gson.examples.android.model.** { *; }
-
- # zxing
- -keep class com.google.zxing.** {*;}
- -dontwarn com.google.zxing.**
-
- ##百度定位
- -keep class com.baidu.** {*;}
- -keep class vi.com.** {*;}
- -dontwarn com.baidu.**
-
- ## okhttp
- -dontwarn com.squareup.okhttp.**
- -keep class com.squareup.okhttp.{*;}
-
- #okhttp3.x
- -dontwarn com.squareup.okhttp3.**
- -keep class com.squareup.okhttp3.** { *;}
- -dontwarn okio.**
-
- #retrofit
- -dontwarn retrofit.**
- -keep class retrofit.** { *; }
- -keepattributes Signature
- -keepattributes Exceptions
- -dontwarn okio.**
-
-
- #recyclerview-animators
- -keep class jp.wasabeef.** {*;}
- -dontwarn jp.wasabeef.*
-
- #multistateview
- -keep class com.kennyc.view.** { *; }
- -dontwarn com.kennyc.view.*
-
- # universal-image-loader 混淆
- -dontwarn com.nostra13.universalimageloader.**
- -keep class com.nostra13.universalimageloader.** { *; }
-
-
- #-ButterKnife 7.0
-  -keep class butterknife.** { *; }
-  -dontwarn butterknife.internal.**
-  -keep class **$$ViewBinder { *; }
-  -keepclasseswithmembernames class * {
-   @butterknife.* <fields>;
-  }
-  -keepclasseswithmembernames class * {
-  @butterknife.* <methods>;
-  }
-
- #eventbus 3.0
- -keepattributes *Annotation*
- -keepclassmembers class ** {
-     @org.greenrobot.eventbus.Subscribe <methods>;
- }
- -keep enum org.greenrobot.eventbus.ThreadMode { *; }
- -keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
-     <init>(java.lang.Throwable);
- }
-
- #EventBus
- -keepclassmembers class ** {
-     public void onEvent*(**);
+#友盟统计
+-keep class com.umeng.analytics.** {*;}
+-dontwarn com.umeng.analytics.**
+
+
+#换肤框架的混淆文件
+-keep class solid.ren.skinlibrary.** {*;}
+-dontwarn solid.ren.skinlibrary.**
+
+#高德相关混淆文件
+#3D 地图
+-keep class com.amap.api.** {*;}
+-keep class com.autonavi.** {*;}
+-keep class com.a.a.** {*;}
+-keep class com.loc.** {*;}
+-dontwarn com.amap.api.**
+-dontwarn com.autonavi.**
+-dontwarn com.a.a.**
+-dontwarn com.loc.**
+
+
+# simple-xml-core的SDK
+-keep class org.simpleframework.xml.** {*;}
+-dontwarn org.simpleframework.xml.**
+
+# acra的 SDK
+-keep class org.acra.** {*;}
+-dontwarn org.acra.**
+
+# 网络请求库async-http
+-keep class com.loopj.android.http.** {*;}
+-dontwarn com.loopj.android.http.**
+
+
+#pinyin4j
+-dontwarn net.soureceforge.pinyin4j.**
+-dontwarn demo.**
+-keep class net.sourceforge.pinyin4j.** { *;}
+-keep class demo.** { *;}
+-keep class com.hp.** { *;}
+
+#httpclient (org.apache.http.legacy.jar)
+-dontwarn android.net.compatibility.**
+-dontwarn android.net.http.**
+-dontwarn com.android.internal.http.multipart.**
+-dontwarn org.apache.commons.**
+-dontwarn org.apache.http.**
+-dontwarn org.apache.http.protocol.**
+-keep class android.net.compatibility.**{*;}
+-keep class android.net.http.**{*;}
+-keep class com.android.internal.http.multipart.**{*;}
+-keep class org.apache.commons.**{*;}
+-keep class org.apache.org.**{*;}
+-keep class org.apache.harmony.**{*;}
+
+#图表库
+-keep class com.github.mikephil.charting.** {*;}
+-dontwarn com.github.mikephil.charting.**
+
+# 讯飞语音
+-keep class com.chinaMobile.** {*;}
+-keep class com.iflytek.** {*;}
+-keep class com.iflytek.sunflower.** {*;}
+-dontwarn com.iflytek.sunflower.**
+-dontwarn com.chinaMobile.**
+-dontwarn com.iflytek.**
+
+# greenDao混淆
+-keep class de.greenrobot.dao.** {*;}
+-keepclassmembers class * extends de.greenrobot.dao.AbstractDao {
+    public static Java.lang.String TABLENAME;
+}
+-keep class **$Properties
+
+# gson
+-keep class com.google.gson.** {*;}
+-keep class com.google.**{*;}
+-keep class sun.misc.Unsafe { *; }
+-keep class com.google.gson.stream.** { *; }
+-keep class com.google.gson.examples.android.model.** { *; }
+
+# zxing
+-keep class com.google.zxing.** {*;}
+-dontwarn com.google.zxing.**
+
+##百度定位
+-keep class com.baidu.** {*;}
+-keep class vi.com.** {*;}
+-dontwarn com.baidu.**
+
+## okhttp
+-dontwarn com.squareup.okhttp.**
+-keep class com.squareup.okhttp.{*;}
+
+#okhttp3.x
+-dontwarn com.squareup.okhttp3.**
+-keep class com.squareup.okhttp3.** { *;}
+-dontwarn okio.**
+
+#retrofit
+-dontwarn retrofit.**
+-keep class retrofit.** { *; }
+-keepattributes Signature
+-keepattributes Exceptions
+-dontwarn okio.**
+
+
+#recyclerview-animators
+-keep class jp.wasabeef.** {*;}
+-dontwarn jp.wasabeef.*
+
+#multistateview
+-keep class com.kennyc.view.** { *; }
+-dontwarn com.kennyc.view.*
+
+# universal-image-loader 混淆
+-dontwarn com.nostra13.universalimageloader.**
+-keep class com.nostra13.universalimageloader.** { *; }
+
+
+#-ButterKnife 7.0
+ -keep class butterknife.** { *; }
+ -dontwarn butterknife.internal.**
+ -keep class **$$ViewBinder { *; }
+ -keepclasseswithmembernames class * {
+  @butterknife.* <fields>;
  }
- -keepclassmembers class ** {
- public void xxxxxx(**);
+ -keepclasseswithmembernames class * {
+ @butterknife.* <methods>;
  }
 
- # support-v4
- -dontwarn android.support.v4.**
- -keep class android.support.v4.app.** { *; }
- -keep interface android.support.v4.app.** { *; }
- -keep class android.support.v4.** { *; }
-
-
- # support-v7
- -dontwarn android.support.v7.**
- -keep class android.support.v7.internal.** { *; }
- -keep interface android.support.v7.internal.** { *; }
- -keep class android.support.v7.** { *; }
-
- # support design
- -dontwarn android.support.design.**
- -keep class android.support.design.** { *; }
- -keep interface android.support.design.** { *; }
- -keep public class android.support.design.R$* { *; }
+#eventbus 3.0
+-keepattributes *Annotation*
+-keepclassmembers class ** {
+    @org.greenrobot.eventbus.Subscribe <methods>;
+}
+-keep enum org.greenrobot.eventbus.ThreadMode { *; }
+-keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
+    <init>(java.lang.Throwable);
+}
+
+#EventBus
+-keepclassmembers class ** {
+    public void onEvent*(**);
+}
+-keepclassmembers class ** {
+public void xxxxxx(**);
+}
+
+# support-v4
+-dontwarn android.support.v4.**
+-keep class android.support.v4.app.** { *; }
+-keep interface android.support.v4.app.** { *; }
+-keep class android.support.v4.** { *; }
+
+
+# support-v7
+-dontwarn android.support.v7.**
+-keep class android.support.v7.internal.** { *; }
+-keep interface android.support.v7.internal.** { *; }
+-keep class android.support.v7.** { *; }
+
+# support design
+-dontwarn android.support.design.**
+-keep class android.support.design.** { *; }
+-keep interface android.support.design.** { *; }
+-keep public class android.support.design.R$* { *; }

+ 12 - 24
module_app/proguard-rules.pro

@@ -54,11 +54,6 @@
     public <init>(android.content.Context, android.util.AttributeSet, int);
 }
 
--keepclasseswithmembers class * {
-    public <init>(android.content.Context, android.util.AttributeSet);
-    public <init>(android.content.Context, android.util.AttributeSet, int);
-}
-
 # 这个主要是在layout 中写的onclick方法android:onclick="onClick",不进行混淆
 -keepclassmembers class * extends android.app.Activity {
    public void *(android.view.View);
@@ -80,20 +75,6 @@
 -keepclasseswithmembernames class * {
     native <methods>;
 }
-#litepal数据库不能被混淆
--keep class org.litepal.** {
-    *;
-}
--keep class * extends org.litepal.crud.DataSupport {
-    *;
-}
-
-#Glide不能被混淆
--keep public class * implements com.bumptech.glide.module.GlideModule
--keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
-  **[] $VALUES;
-  public *;
-}
 
 # 保持 Parcelable 不被混淆
 -keep class * implements android.os.Parcelable {
@@ -115,11 +96,6 @@
     public static final int *;
 }
 
-# $是用来分割内嵌类与其母体的标志
--keep class **.R$* {
- *;
-}
-
 
 -keepclassmembers class * {
    public <init> (org.json.JSONObject);
@@ -138,6 +114,18 @@
 
 
 #---------------------------------第三方包-------------------------------
+#litepal数据库不能被混淆
+-keep class org.litepal.** {*;}
+-keep class * extends org.litepal.crud.DataSupport {*;}
+
+#Glide不能被混淆
+-keep public class * implements com.bumptech.glide.module.GlideModule
+-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
+  **[] $VALUES;
+  public *;
+}
+
+
 #activityrouter
 -keep class com.github.mzule.activityrouter.router.** { *; }
 

+ 12 - 24
module_girls/proguard-rules.pro

@@ -54,11 +54,6 @@
     public <init>(android.content.Context, android.util.AttributeSet, int);
 }
 
--keepclasseswithmembers class * {
-    public <init>(android.content.Context, android.util.AttributeSet);
-    public <init>(android.content.Context, android.util.AttributeSet, int);
-}
-
 # 这个主要是在layout 中写的onclick方法android:onclick="onClick",不进行混淆
 -keepclassmembers class * extends android.app.Activity {
    public void *(android.view.View);
@@ -80,20 +75,6 @@
 -keepclasseswithmembernames class * {
     native <methods>;
 }
-#litepal数据库不能被混淆
--keep class org.litepal.** {
-    *;
-}
--keep class * extends org.litepal.crud.DataSupport {
-    *;
-}
-
-#Glide不能被混淆
--keep public class * implements com.bumptech.glide.module.GlideModule
--keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
-  **[] $VALUES;
-  public *;
-}
 
 # 保持 Parcelable 不被混淆
 -keep class * implements android.os.Parcelable {
@@ -115,11 +96,6 @@
     public static final int *;
 }
 
-# $是用来分割内嵌类与其母体的标志
--keep class **.R$* {
- *;
-}
-
 
 -keepclassmembers class * {
    public <init> (org.json.JSONObject);
@@ -138,6 +114,18 @@
 
 
 #---------------------------------第三方包-------------------------------
+#litepal数据库不能被混淆
+-keep class org.litepal.** {*;}
+-keep class * extends org.litepal.crud.DataSupport {*;}
+
+#Glide不能被混淆
+-keep public class * implements com.bumptech.glide.module.GlideModule
+-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
+  **[] $VALUES;
+  public *;
+}
+
+
 #activityrouter
 -keep class com.github.mzule.activityrouter.router.** { *; }
 

+ 11 - 26
module_main/proguard-rules.pro

@@ -54,11 +54,6 @@
     public <init>(android.content.Context, android.util.AttributeSet, int);
 }
 
--keepclasseswithmembers class * {
-    public <init>(android.content.Context, android.util.AttributeSet);
-    public <init>(android.content.Context, android.util.AttributeSet, int);
-}
-
 # 这个主要是在layout 中写的onclick方法android:onclick="onClick",不进行混淆
 -keepclassmembers class * extends android.app.Activity {
    public void *(android.view.View);
@@ -80,20 +75,6 @@
 -keepclasseswithmembernames class * {
     native <methods>;
 }
-#litepal数据库不能被混淆
--keep class org.litepal.** {
-    *;
-}
--keep class * extends org.litepal.crud.DataSupport {
-    *;
-}
-
-#Glide不能被混淆
--keep public class * implements com.bumptech.glide.module.GlideModule
--keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
-  **[] $VALUES;
-  public *;
-}
 
 # 保持 Parcelable 不被混淆
 -keep class * implements android.os.Parcelable {
@@ -115,11 +96,6 @@
     public static final int *;
 }
 
-# $是用来分割内嵌类与其母体的标志
--keep class **.R$* {
- *;
-}
-
 
 -keepclassmembers class * {
    public <init> (org.json.JSONObject);
@@ -134,13 +110,22 @@
     public boolean *(android.webkit.WebView, java.lang.String);
 }
 
+#---------------------------------实体类---------------------------------
 
 
-#---------------------------------实体类---------------------------------
+#---------------------------------第三方包-------------------------------
+#litepal数据库不能被混淆
+-keep class org.litepal.** {*;}
+-keep class * extends org.litepal.crud.DataSupport {*;}
 
+#Glide不能被混淆
+-keep public class * implements com.bumptech.glide.module.GlideModule
+-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
+  **[] $VALUES;
+  public *;
+}
 
 
-#---------------------------------第三方包-------------------------------
 #activityrouter
 -keep class com.github.mzule.activityrouter.router.** { *; }
 

+ 12 - 24
module_news/proguard-rules.pro

@@ -54,11 +54,6 @@
     public <init>(android.content.Context, android.util.AttributeSet, int);
 }
 
--keepclasseswithmembers class * {
-    public <init>(android.content.Context, android.util.AttributeSet);
-    public <init>(android.content.Context, android.util.AttributeSet, int);
-}
-
 # 这个主要是在layout 中写的onclick方法android:onclick="onClick",不进行混淆
 -keepclassmembers class * extends android.app.Activity {
    public void *(android.view.View);
@@ -80,20 +75,6 @@
 -keepclasseswithmembernames class * {
     native <methods>;
 }
-#litepal数据库不能被混淆
--keep class org.litepal.** {
-    *;
-}
--keep class * extends org.litepal.crud.DataSupport {
-    *;
-}
-
-#Glide不能被混淆
--keep public class * implements com.bumptech.glide.module.GlideModule
--keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
-  **[] $VALUES;
-  public *;
-}
 
 # 保持 Parcelable 不被混淆
 -keep class * implements android.os.Parcelable {
@@ -115,11 +96,6 @@
     public static final int *;
 }
 
-# $是用来分割内嵌类与其母体的标志
--keep class **.R$* {
- *;
-}
-
 
 -keepclassmembers class * {
    public <init> (org.json.JSONObject);
@@ -138,6 +114,18 @@
 
 
 #---------------------------------第三方包-------------------------------
+#litepal数据库不能被混淆
+-keep class org.litepal.** {*;}
+-keep class * extends org.litepal.crud.DataSupport {*;}
+
+#Glide不能被混淆
+-keep public class * implements com.bumptech.glide.module.GlideModule
+-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
+  **[] $VALUES;
+  public *;
+}
+
+
 #activityrouter
 -keep class com.github.mzule.activityrouter.router.** { *; }