android studio 混淆代码eventbus,Android Studio 代码混淆注意问题

#---------------------------------1.实体类---------------------------------

-keepclasscom.package.bean.**{*;}

#-------------------------------------------------------------------------

#---------------------------------2.第三方包-------------------------------

#eventBus

-keepattributes*Annotation*

-keepclassmembersclass**{

@org.greenrobot.eventbus.Subscribe;

}

-keepenumorg.greenrobot.eventbus.ThreadMode{*;}

-keepclassmembersclass*extendsorg.greenrobot.eventbus.util.ThrowableFailureEvent{

(java.lang.Throwable);

}

#glide

-keeppublicclass*implementscom.bumptech.glide.module.GlideModule

-keeppublicenumcom.bumptech.glide.load.resource.bitmap.ImageHeaderParser$**{

**[]$VALUES;

public*;

}

-keepclasscom.bumptech.glide.**{*;}

#retrofit2

-dontwarnretrofit2.**

-keepclassretrofit2.**{*;}

-keepattributesSignature

-keepattributesExceptions

-dontwarnorg.robovm.**

-keepclassorg.robovm.**{*;}

#okhttp3

-dontwarncom.squareup.okhttp3.**

-keepclasscom.squareup.okhttp3.**{*;}

-keepclassokhttp3.**{*;}

-keepclassokio.**{*;}

-dontwarnsun.security.**

-keepclasssun.security.**{*;}

-dontwarnokio.**

-dontwarnokhttp3.**

#rxjava

-dontwarnrx.**

-keepclassrx.**{*;}

-dontwarnsun.misc.**

-keepclassmembersclassrx.internal.util.unsafe.*ArrayQueue*Field*{

longproducerIndex;

longconsumerIndex;

}

-keepclassmembersclassrx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef{

rx.internal.util.atomic.LinkedQueueNodeproducerNode;

}

-keepclassmembersclassrx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef{

rx.internal.util.atomic.LinkedQueueNodeconsumerNode;

}

#baidu

-keepclasscom.baidu.**{*;}

-dontwarncom.baidu.**

#alipay

-keepclasscom.alipay.android.app.IAlixPay{*;}

-keepclasscom.alipay.android.app.IAlixPay$Stub{*;}

-keepclasscom.alipay.android.app.IRemoteServiceCallback{*;}

-keepclasscom.alipay.android.app.IRemoteServiceCallback$Stub{*;}

-keepclasscom.alipay.sdk.app.PayTask{public*;}

-keepclasscom.alipay.sdk.app.AuthTask{public*;}

-keepclasscom.alipay.mobilesecuritysdk.*

-keepclasscom.ut.*

-dontwarnandroid.net.**

-keepclassandroid.net.**{*;}

#gson

-keepclasscom.google.gson.**{*;}

#-keep class com.google.**{*;}

-keepclasssun.misc.Unsafe{*;}

-keepclasscom.google.gson.stream.**{*;}

-keepclasscom.google.gson.examples.android.model.**{*;}

-keepclasscom.google.**{

;

;

}

-keepclassmembersclass*implementsjava.io.Serializable{

staticfinallongserialVersionUID;

privatestaticfinaljava.io.ObjectStreamField[]serialPersistentFields;

privatevoidwriteObject(java.io.ObjectOutputStream);

privatevoidreadObject(java.io.ObjectInputStream);

java.lang.ObjectwriteReplace();

java.lang.ObjectreadResolve();

}

-dontwarncom.google.gson.**

#umeng

-dontwarncom.umeng.**

-keepclasscom.umeng.**{*;}

-keepclassu.aly.**{*;}

-keepclasscom.google.**{*;}

#butterknife

-keepclassbutterknife.**{*;}

-dontwarnbutterknife.internal.**

-keepclass**$$ViewBinder{*;}

-keepclasseswithmembernamesclass*{

@butterknife.*;

}

-keepclasseswithmembernamesclass*{

@butterknife.*;

}

#pinyin4j

-dontwarnnet.soureceforge.pinyin4j.**

-dontwarndemo.**

-libraryjarssrc/libs/pinyin4j-2.5.0.jar

-keepclassnet.sourceforge.pinyin4j.**{*;}

-keepclassdemo.**{*;}

-keepclasscom.hp.**{*;}

#httpclient (org.apache.http.legacy.jar)

-dontwarnandroid.net.compatibility.**

-dontwarnandroid.net.http.**

-dontwarncom.android.internal.http.multipart.**

-dontwarnorg.apache.commons.**

-dontwarnorg.apache.http.**

-dontwarnorg.apache.http.protocol.**

-keepclassandroid.net.compatibility.**{*;}

#-keep class android.net.http.**{*;}

-keepclasscom.android.internal.http.multipart.**{*;}

-keepclassorg.apache.commons.**{*;}

-keepclassorg.apache.org.**{*;}

-keepclassorg.apache.harmony.**{*;}

#lib-wheel

-dontwarnkankan.wheel.**

-keepclasskankan.wheel.**{*;}

#PhotoPicker

-dontwarnme.iwf.photopicker.**

-keepclassme.iwf.photopicker.**{*;}

#nineoldandroids

-dontwarncom.nineoldandroids.*

-keepclasscom.nineoldandroids.**{*;}

#weixin

-dontwarncom.tencent.mm.**

-keepclasscom.tencent.mm.**{*;}

#topsnackbar

-dontwarncom.androidadvance.topsnackbar.**

-keepclasscom.androidadvance.topsnackbar.**{*;}

#pull_recyclerview_library

-dontwarncom.cundong.recyclerview.**

-keepclasscom.cundong.recyclerview.**{*;}

#-------------------------------------------------------------------------

#---------------------------------3.与js互相调用的类------------------------

#-------------------------------------------------------------------------

#---------------------------------4.反射相关的类和方法-----------------------

#----------------------------------------------------------------------------

#-------------------------------------------基本不用动区域--------------------------------------------

#---------------------------------基本指令区----------------------------------

-optimizationpasses5

-dontskipnonpubliclibraryclassmembers

-printmappingproguardMapping.txt

-optimizations!code/simplification/cast,!field/*,!class/merging/*

-keepattributes *Annotation*,InnerClasses

-keepattributesSignature

-keepattributesSourceFile,LineNumberTable

#-ignorewarnings

#----------------------------------------------------------------------------

#---------------------------------默认保留区---------------------------------

-keeppublicclass*extendsandroid.app.Activity

-keeppublicclass*extendsandroid.app.Application

-keeppublicclass*extendsandroid.app.Service

-keeppublicclass*extendsandroid.content.BroadcastReceiver

-keeppublicclass*extendsandroid.content.ContentProvider

-keeppublicclass*extendsandroid.app.backup.BackupAgentHelper

-keeppublicclass*extendsandroid.preference.Preference

-keeppublicclass*extendsandroid.view.View

-keeppublicclasscom.android.vending.licensing.ILicensingService

-keepclassandroid.support.**{*;}

-keeppublicclass*extendsandroid.os.IInterface

-keeppublicclass*extendsandroid.view.View{

***get*();

voidset*(***);

public(android.content.Context);

public(android.content.Context,android.util.AttributeSet);

public(android.content.Context,android.util.AttributeSet,int);

}

-keepclasseswithmembersclass*{

public(android.content.Context,android.util.AttributeSet);

public(android.content.Context,android.util.AttributeSet,int);

}

-keepclassmembersclass*implementsjava.io.Serializable{

staticfinallongserialVersionUID;

privatestaticfinaljava.io.ObjectStreamField[]serialPersistentFields;

privatevoidwriteObject(java.io.ObjectOutputStream);

privatevoidreadObject(java.io.ObjectInputStream);

java.lang.ObjectwriteReplace();

java.lang.ObjectreadResolve();

}

-keepclass**.R$*{

*;

}

-keepclassmembersclass*{

void*(**On*Event);

}

-keepclasseswithmembernamesclass*{# 保持 native 方法不被混淆

native;

}

-keepclasseswithmembersclass*{# 保持自定义控件类不被混淆

public(android.content.Context,android.util.AttributeSet);

}

-keepclasseswithmembersclass*{# 保持自定义控件类不被混淆

public(android.content.Context,android.util.AttributeSet,int);

}

-keepclassmembersclass*extendsandroid.app.Activity{# 保持自定义控件类不被混淆

publicvoid*(android.view.View);

}

-keepclassmembersenum*{# 保持枚举 enum 类不被混淆

publicstatic**[]values();

publicstatic**valueOf(java.lang.String);

}

-keepclass*implementsandroid.os.Parcelable{# 保持 Parcelable 不被混淆

publicstaticfinalandroid.os.Parcelable$Creator *;

}

#----------------------------------------------------------------------------

#---------------------------------webview------------------------------------

-keepclassmembersclassfqcn.of.java.interface.for.webview{

public*;

}

-keepclassmembersclass*extendsandroid.webkit.webViewClient{

publicvoid*(android.webkit.WebView,java.lang.String,android.graphics.Bitmap);

publicboolean*(android.webkit.WebView,java.lang.String);

}

-keepclassmembersclass*extendsandroid.webkit.webViewClient{

publicvoid*(android.webkit.webView,jav.lang.String);

}

#-------------------------------------------------

#-------------------------------------------------返回搜狐,查看更多

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值