整理Android最全的混淆规则大全(最新的开源框架混淆)
来源:互联网 发布:全排列算法详解 编辑:程序博客网 时间:2024/05/03 03:04
由于最近需要打包上传apk到应用市场。用到了一些开源项目。但发布apk需要混淆,而很多的项目的混淆规则都不太清楚,找起来太费劲了。就想着整个一个文档。
现在把这些的混淆规则分享给大家,也省得大家再去其它地方查找了。
提前说明:有些混淆规则可能未能及时更新,会有误差,若大家发现,欢迎指明。
proguard-square-retrofit2.pro
# Retrofit 2.X## https://square.github.io/retrofit/ ##-dontwarn retrofit2.**-keep class retrofit2.** { *; }-keepattributes Signature-keepattributes Exceptions-keepclasseswithmembers class * { @retrofit2.http.* <methods>;}
proguard-square-retrofit.pro
# Retrofit 1.X-keep class com.squareup.okhttp.** { *; }-keep class retrofit.** { *; }-keep interface com.squareup.okhttp.** { *; }-dontwarn com.squareup.okhttp.**-dontwarn okio.**-dontwarn retrofit.**-dontwarn rx.**-keepclasseswithmembers class * { @retrofit.http.* <methods>;}# If in your rest service interface you use methods with Callback argument.-keepattributes Exceptions# If your rest service methods throw custom exceptions, because you've defined an ErrorHandler.-keepattributes Signature# Also you must note that if you are using GSON for conversion from JSON to POJO representation, you must ignore those POJO classes from being obfuscated.# Here include the POJO's that have you have created for mapping JSON response to POJO for example.
proguard-square-otto.pro
## Square Otto specific rules #### https://square.github.io/otto/ ##-keepattributes *Annotation*-keepclassmembers class ** { @com.squareup.otto.Subscribe public *; @com.squareup.otto.Produce public *;}
proguard-square-picasso.pro
## Square Picasso specific rules #### https://square.github.io/picasso/ ##-dontwarn com.squareup.okhttp.**
proguard-square-okhttp3.pro
# OkHttp-keepattributes Signature-keepattributes *Annotation*-keep class okhttp3.** { *; }-keep interface okhttp3.** { *; }-dontwarn okhttp3.**
proguard-square-dagger.pro
# Dagger ProGuard rules.# https://github.com/square/dagger-dontwarn dagger.internal.codegen.**-keepclassmembers,allowobfuscation class * { @javax.inject.* *; @dagger.* *; <init>();}-keep class dagger.* { *; }-keep class javax.inject.* { *; }-keep class * extends dagger.internal.Binding-keep class * extends dagger.internal.ModuleAdapter-keep class * extends dagger.internal.StaticInjection
proguard-rx-java.pro
# RxJava 0.21-keep class rx.schedulers.Schedulers { public static <methods>;}-keep class rx.schedulers.ImmediateScheduler { public <methods>;}-keep class rx.schedulers.TestScheduler { public <methods>;}-keep class rx.schedulers.Schedulers { public static ** test();}
proguard-guava.pro
# Configuration for Guava 18.0## disagrees with instructions provided by Guava project: https://code.google.com/p/guava-libraries/wiki/UsingProGuardWithGuava-keep class com.google.common.io.Resources { public static <methods>;}-keep class com.google.common.collect.Lists { public static ** reverse(**);}-keep class com.google.common.base.Charsets { public static <fields>;}-keep class com.google.common.base.Joiner { public static com.google.common.base.Joiner on(java.lang.String); public ** join(...);}-keep class com.google.common.collect.MapMakerInternalMap$ReferenceEntry-keep class com.google.common.cache.LocalCache$ReferenceEntry# http://stackoverflow.com/questions/9120338/proguard-configuration-for-guava-with-obfuscation-and-optimization-dontwarn javax.annotation.**-dontwarn javax.inject.**-dontwarn sun.misc.Unsafe# Guava 19.0-dontwarn java.lang.ClassValue-dontwarn com.google.j2objc.annotations.Weak-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
proguard-gson.pro
## GSON 2.2.4 specific rules ### Gson uses generic type information stored in a class file when working with fields. Proguard# removes such information by default, so configure it to keep all of it.-keepattributes Signature# For using GSON @Expose annotation-keepattributes *Annotation*-keepattributes EnclosingMethod# Gson specific classes-keep class sun.misc.Unsafe { *; }-keep class com.google.gson.stream.** { *; }
proguard-greendao.pro
# GreenDao rules# Source: http://greendao-orm.com/documentation/technical-faq#-keepclassmembers class * extends de.greenrobot.dao.AbstractDao { public static java.lang.String TABLENAME;}-keep class **$Properties
proguard-glide.pro
# Glide specific rules ## https://github.com/bumptech/glide-keep public class * implements com.bumptech.glide.module.GlideModule-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** { **[] $VALUES; public *;}
proguard-facebook-fresco.pro
# Fresco v0.8.1 ProGuard rules.# https://github.com/facebook/fresco-keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip# Do not strip any method/class that is annotated with @DoNotStrip-keep @com.facebook.common.internal.DoNotStrip class *-keepclassmembers class * { @com.facebook.common.internal.DoNotStrip *;}# Keep native methods-keepclassmembers class * { native <methods>;}-dontwarn okio.**-dontwarn javax.annotation.**-dontwarn com.android.volley.toolbox.**
proguard-eventbus-3.pro
## New rules for EventBus 3.0.x ### http://greenrobot.org/eventbus/documentation/proguard/-keepattributes *Annotation*-keepclassmembers class ** { @org.greenrobot.eventbus.Subscribe <methods>;}-keep enum org.greenrobot.eventbus.ThreadMode { *; }# Only required if you use AsyncExecutor-keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent { <init>(java.lang.Throwable);}
proguard-easy-adapter.pro
#Easy-Adapter v1.5.0-keepattributes *Annotation*-keepclassmembers class * extends uk.co.ribot.easyadapter.ItemViewHolder { public <init>(...); }
proguard-crashlytics-2.pro
# Crashlytics 2.+-keep class com.crashlytics.** { *; }-keep class com.crashlytics.android.**-keepattributes SourceFile, LineNumberTable, *Annotation*# If you are using custom exceptions, add this line so that custom exception types are skipped during obfuscation:-keep public class * extends java.lang.Exception# For Fabric to properly de-
proguard-butterknife-7.pro
# ButterKnife 7-keep class butterknife.** { *; }-dontwarn butterknife.internal.**-keep class **$$ViewBinder { *; }-keepclasseswithmembernames class * { @butterknife.* <fields>;}-keepclasseswithmembernames class * { @butterknife.* <methods>;}
proguard-alibaba-fastjson.pro
# fastjson proguard rules# https://github.com/alibaba/fastjson-dontwarn com.alibaba.fastjson.**-keepattributes Signature-keepattributes *Annotation*
proguard-action-bar-sherlock.pro
## ActionBarSherlock 4.4.0 specific rules ##-keep class android.support.v4.app.** { *; }-keep interface android.support.v4.app.** { *; }-keep class com.actionbarsherlock.** { *; }-keep interface com.actionbarsherlock.** { *; }-keepattributes *Annotation*## hack for Actionbarsherlock 4.4.0, see https://github.com/JakeWharton/ActionBarSherlock/issues/1001 ##-dontwarn com.actionbarsherlock.internal.**
proguard-svgandroid.pro
## SVG Android ###https://github.com/pents90/svg-android-keep class com.larvalabs.svgandroid.** {*;}-keep class com.larvalabs.svgandroid.*$* {*;}
proguard-support-v7-appcompat.pro
-keep public class android.support.v7.widget.** { *; }-keep public class android.support.v7.internal.widget.** { *; }-keep public class android.support.v7.internal.view.menu.** { *; }-keep public class * extends android.support.v4.view.ActionProvider { public <init>(android.content.Context);}
proguard-support-design.pro
-dontwarn android.support.design.**-keep class android.support.design.** { *; }-keep interface android.support.design.** { *; }-keep public class android.support.design.R$* { *; }
0 0
- 整理Android最全的混淆规则大全(最新的开源框架混淆)
- 一份有用的Android 混淆规则
- Android中jsoup的混淆规则
- Android 最简单的代码混淆
- android中易混淆的知识点(整理自用)
- 转:Confusion Matrix(混淆矩阵) 解释最全的一个
- 转:Confusion Matrix(混淆矩阵) 解释最全的一个
- Android 上线前的代码混淆之(二)混淆
- Android混淆规则
- 最新最全的 Android 开源项目合集
- 最新最全的 Android 开源项目合集
- android 的混淆解析
- android的混淆器
- android 的混淆解析
- android代码的混淆
- android 的混淆打包
- android的Proguard混淆
- Android的Java混淆
- Binary Tree
- 数据结构与算法学习一
- UML--类图
- 浅读(二)backprob.m的代码解读
- 第十二周项目1——图基本算法库
- 整理Android最全的混淆规则大全(最新的开源框架混淆)
- hdu 1166 敌兵布阵
- 米尔科技 Z-turn XC7Z010 Linux驱动源码路径
- Python yield用法
- 竞品分析的常用分析方法
- 关于递归实现过程的详解
- AspectJ 切面获取参数名称和参数
- 关于利用Tomcat创建一个Java Web项目的部署
- Python中json格式数据的编码和解码