* android studio混淆*
混淆代碼如下:
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in C:\Users\dwb\AppData\Local\Android\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 *;
#}
#-----------------混淆配置設定------------------------------------------------------------------------
-optimizationpasses #指定代碼壓縮級别
-dontusemixedcaseclassnames #混淆時不會産生形形色色的類名
-dontskipnonpubliclibraryclasses #指定不忽略非公共類庫
-dontpreverify #不預校驗,如果需要預校驗,是-dontoptimize
-ignorewarnings #屏蔽警告
-verbose #混淆時記錄日志
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* #優化
#-----------------導入第三方包,但是在目前版本中使用會報 input jar file is specified twice 錯誤,是以注釋掉
#-libraryjars libs/android.support.v4.jar
#-libraryjars libs/BaiduLBS_Android.jar
#-libraryjars libs/commons-httpclient-3.1.jar
#-libraryjars libs/jackson-annotations-2.1.4.jar
#-libraryjars libs/jackson-core-2.1.4.jar
#-libraryjars libs/jackson-databind-2.1.4.jar
#-libraryjars libs/xUtils-2.6.14.jar
#-----------------不需要混淆第三方類庫------------------------------------------------------------------
-dontwarn android.support.v4.** #去掉警告
-keep class android.support.v4.** { *; } #過濾android.support.v4
-keep interface android.support.v4.app.** { *; }
-keep public class * extends android.support.v4.**
-keep public class * extends android.app.Fragment
-keep class org.apache.**{*;} #過濾commons-httpclient-3.1.jar
-keep class com.fasterxml.jackson.**{*;} #過濾jackson-core-2.1.4.jar等
-dontwarn com.lidroid.xutils.** #去掉警告
-keep class com.lidroid.xutils.**{*;} #過濾xUtils-2.6.14.jar
-keep class * extends java.lang.annotation.Annotation{*;} #這是xUtils文檔中提到的過濾掉注解
#-dontwarn com.baidu.** #去掉警告
#-dontwarn com.baidu.mapapi.**
#-keep class com.baidu.** {*;} #過濾BaiduLBS_Android.jar
#-keep class vi.com.gdi.bgl.android.**{*;}
#-keep class com.baidu.platform.**{*;}
#-keep class com.baidu.location.**{*;}
#-keep class com.baidu.vi.**{*;}
#-----------------------如果引用了v4或者v7包------------------------------------
-dontwarn android.support.**
#------------------------JavaBean檔案不混淆-----------------------------
-keep class com.dwb.renrendaipai.model.** { *; }
#-------------------------eventbus混淆報錯------------------
-keep class de.greenrobot.event.** {*;}
-keepclassmembers class ** {
public void onEvent*(**);
void onEvent*(**);
}
#-----------------不需要混淆系統元件等-------------------------------------------------------------------
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-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.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService
-keep class com.classtc.test.entity.**{*;} #過濾掉自己編寫的實體類
#--------打包安裝好運作閃退-------------------------
-dontwarn org.xmlpull.v1.XmlPullParser
-dontwarn org.xmlpull.v1.XmlSerializer
-keep class org.xmlpull.v1.* {*;}
-keepattributes *Annotation*
#-keepattributes Signature
-keep class **.R$* { *; }
#----------------保護指定的類和類的成員,但條件是所有指定的類和類成員是要存在------------------------------------
#-keepclasseswithmembernames class * {
# public <init>(android.content.Context, android.util.AttributeSet);
#}
#
#-keepclasseswithmembernames class * {
# public <init>(android.content.Context, android.util.AttributeSet, int);
#}
#-----------------友盟分享 混淆配置------------------------------------------------------------------
-dontusemixedcaseclassnames
-dontshrink
-dontoptimize
-dontwarn com.google.android.maps.**
-dontwarn android.webkit.WebView
-dontwarn com.umeng.**
-dontwarn com.tencent.weibo.sdk.**
-dontwarn com.facebook.**
-keep public class javax.**
-keep public class android.webkit.**
-dontwarn android.support.v4.**
-keep enum com.facebook.**
-keepattributes Exceptions,InnerClasses,Signature
-keepattributes *Annotation*
-keepattributes SourceFile,LineNumberTable
-keep public interface com.facebook.**
-keep public interface com.tencent.**
-keep public interface com.umeng.socialize.**
-keep public interface com.umeng.socialize.sensor.**
-keep public interface com.umeng.scrshot.**
-keep class com.android.dingtalk.share.ddsharemodule.** { *; }
-keep public class com.umeng.socialize.* {*;}
-keep class com.facebook.**
-keep class com.facebook.** { *; }
-keep class com.umeng.scrshot.**
-keep public class com.tencent.** {*;}
-keep class com.umeng.socialize.sensor.**
-keep class com.umeng.socialize.handler.**
-keep class com.umeng.socialize.handler.*
-keep class com.umeng.weixin.handler.**
-keep class com.umeng.weixin.handler.*
-keep class com.umeng.qq.handler.**
-keep class com.umeng.qq.handler.*
-keep class UMMoreHandler{*;}
-keep class com.tencent.mm.sdk.modelmsg.WXMediaMessage {*;}
-keep class com.tencent.mm.sdk.modelmsg.** implements com.tencent.mm.sdk.modelmsg.WXMediaMessage$IMediaObject {*;}
-keep class im.yixin.sdk.api.YXMessage {*;}
-keep class im.yixin.sdk.api.** implements im.yixin.sdk.api.YXMessage$YXMessageData{*;}
-keep class com.tencent.mm.sdk.** {
*;
}
-keep class com.tencent.mm.opensdk.** {
*;
}
-dontwarn twitter4j.**
-keep class twitter4j.** { *; }
-keep class com.tencent.** {*;}
-dontwarn com.tencent.**
-keep public class com.umeng.com.umeng.soexample.R$*{
public static final int *;
}
-keep public class com.linkedin.android.mobilesdk.R$*{
public static final int *;
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class com.tencent.open.TDialog$*
-keep class com.tencent.open.TDialog$* {*;}
-keep class com.tencent.open.PKDialog
-keep class com.tencent.open.PKDialog {*;}
-keep class com.tencent.open.PKDialog$*
-keep class com.tencent.open.PKDialog$* {*;}
-keep class com.sina.** {*;}
-dontwarn com.sina.**
-keep class com.alipay.share.sdk.** {
*;
}
-keepnames class * implements android.os.Parcelable {
public static final ** CREATOR;
}
-keep class com.linkedin.** { *; }
-keepattributes Signature
#-------------------------------------支付寶支付 混淆-----------------------------------
# -libraryjars libs/alipaySDK-20161222.jar
-keep class com.alipay.android.app.IAlixPay{*;}
-keep class com.alipay.android.app.IAlixPay$Stub{*;}
-keep class com.alipay.android.app.IRemoteServiceCallback{*;}
-keep class com.alipay.android.app.IRemoteServiceCallback$Stub{*;}
-keep class com.alipay.sdk.app.PayTask{ public *;}
-keep class com.alipay.sdk.app.AuthTask{ public *;}
#-------------------------------------- 微信支付 混淆------------------------------------
# -libraryjars libs/libammsdk.jar
-keep class com.tencent.** { *;}
#----------------------------------------極光推送 混淆-------------------------------------------------
-dontoptimize
-dontpreverify
-dontwarn cn.jpush.**
-keep class cn.jpush.** { *; }
-dontwarn cn.jiguang.**
-keep class cn.jiguang.** { *; }
#==================gson && protobuf==========================
-dontwarn com.google.**
-keep class com.google.gson.** {*;}
-keep class com.google.protobuf.** {*;}
具體錯誤忘記包含xml字段錯誤修改方法如下

jar包EventBus報錯 實體類被混淆修改方法如下
項目實體類被混淆修改如下