Android 开发中混淆中各个渠道都的注意到其相关的混淆设置,常用的第三方的混淆设置如下

来源:互联网 发布:dbc数据库修改 编辑:程序博客网 时间:2024/06/01 08:10
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in C:\Users\kyle\AppData\Local\Android\sdk1/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 5# 指定代码的压缩级别
-dontusemixedcaseclassnames# 是否使用大小写混合
-dontpreverify# 混淆时是否做预校验
-verbose# 混淆时是否记录日志

-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*# 混淆时所采用的算法
-libraryjars libs/lechangeSDK.jar
-libraryjars libs/gensee_baseplayer.jar
-libraryjars libs/gensee_common.jar
-libraryjars libs/gensee_doc.jar
-libraryjars libs/gensee_rtmpplayer.jarr
-libraryjars libs/gensee_video.jar
-libraryjars libs/gensee_hb.jar
-libraryjars libs/gensee_vod_ol.jar
-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.app.backup.BackupAgentHelper# 保持哪些类不被混淆
-keep public class * extends android.preference.Preference# 保持哪些类不被混淆
-keep public class com.android.vending.licensing.ILicensingService# 保持哪些类不被混淆

-keepclasseswithmembernames class * {# 保持 native 方法不被混淆
native <methods>;
}
-keepclasseswithmembers class * {# 保持自定义控件类不被混淆
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {# 保持自定义控件类不被混淆
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * extends android.app.Activity {# 保持自定义控件类不被混淆
public void *(android.view.View);
}
-keepclassmembers enum * {# 保持枚举 enum 类不被混淆
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable {# 保持 Parcelable 不被混淆
public static final android.os.Parcelable$Creator *;
}

-keep class **.R$* {
*;
}
-keepclassmembers class * {
void *(**On*Event);
}

-keepclassmembers class * {
public <init>(org.json.JSONObject);
}

-keep class com.github.test.** {*;}



-keep class android.support.v7.** { *; }#过滤android.support.v7 注意这里v4还是v7要看gradle里面compile了那个扩展包
-keep interface android.support.constraint.** { *; }
-keep class com.alibaba.fastjson.** {*;}
-keep interface android.support.v4.app.**{*;}
-keep calss com.pxjy.app.student.ben.**{*;}#过滤生成的实体类



#---------------------------------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);
}
-keepclassmembers class * extends android.webkit.WebViewClient {
public void *(android.webkit.WebView, jav.lang.String);
}



#友盟相关的
-keep class com.umeng.**
-keep public class com.idea.fifaalarmclock.app.R$*{
public static final int *;
}
-keep public class com.umeng.fb.ui.ThreadView {
}
-dontwarn com.umeng.**
-dontwarn org.apache.commons.**
-keep public class * extends com.umeng.**
-keep class com.umeng.** {*; }
# *****************


# 友盟统计分析
-keepclassmembers class * { public <init>(org.json.JSONObject); }
-keepclassmembers enum com.umeng.analytics.** {
public static **[] values();
public static ** valueOf(java.lang.String);
}


#eventbus
-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);
}

#glide

-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
**[] $VALUES;
public *;
}


# Bugly
-dontwarn com.tencent.bugly.**
-keep class com.tencent.bugly.** {*;}

#nohttp
-dontwarn com.yolanda.nohttp.**
-keep class com.yolanda.nohttp.**{*;}
#ijk
-keep class tv.danmaku.ijk.media.**{*;}

# FastJson
-dontwarn com.alibaba.fastjson.**
-keep class com.alibaba.fastjson.** { *; }
-keepattributes Signature
-keepattributes *Annotation*


# 微信支付
-dontwarn com.tencent.mm.**
-dontwarn com.tencent.wxop.stat.**
-keep class com.tencent.mm.** {*;}
-keep class com.tencent.wxop.stat.**{*;}

# 支付宝钱包
-dontwarn com.alipay.**
-dontwarn HttpUtils.HttpFetcher
-dontwarn com.ta.utdid2.**
-dontwarn com.ut.device.**
-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 *;}
-keep class com.alipay.mobilesecuritysdk.*




阅读全文
0 0
原创粉丝点击