AndroidStudio 基本混淆配置
2017-08-18 16:50
351 查看
-keepclassmembers class fqcn.of.javascript.interface.for.webview { public *; } #指定代码的压缩级别 -optimizationpasses 5 #包明不混合大小写 -dontusemixedcaseclassnames #不去忽略非公共的库类 -dontskipnonpubliclibraryclasses #优化 不优化输入的类文件 -dontoptimize #预校验 -dontpreverify #混淆时是否记录日志 -verbose # 混淆时所采用的算法 # -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* #保护注解 -keepattributes *Annotation* # 保持哪些类不被混淆 -keep public class * extends android.app.Fragment -dontwarn android.support.v4.** -keep public class * extends android.support.v4.**{ *; } -dontwarn android.support.v7.** -keep public class * extends android.support.v7.**{ *; } -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 ##### Gson -keep class com.google.gson.** {*;} -keep class sun.misc.Unsafe { *; } -keep class com.google.gson.stream.** { *; } -keep class com.google.gson.examples.android.model.** { *; } -keep class com.google.** { <fields>; <methods>; } -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类 -keep public class **.R$*{ public static final int *; } ########### 不混淆枚举 -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keepclasseswithmembers class com.booyue.babylisten.bean.** { <fields>; <methods>; } ##### Vitamio -dontwarn io.vov.vitamio.** -keep class io.vov.vitamio.** { *; } ###commons_codec### -dontwarn org.apache.commons.codec.** -keep class org.apache.commons.codec.**{ *; } ###okhttp3### -dontwarn okhttp3.** -keep class okhttp3.**{ *; } ###okhttp3### -dontwarn com.squareup.okhttp.** -keep class com.squareup.okhttp.**{ *; } -dontwarn javax.net.ssl.** -keep class javax.net.ssl.**{ *; } #### ormlite -dontwarn com.j256.ormlite.** -keep class com.j256.ormlite.** { *; } ##pinyin### -dontwarn com.hp.hpl.sparta.** -keep class com.hp.hpl.sparta.** { *; } -dontwarn net.sourceforge.pinyin4j.** -keep class net.sourceforge.pinyin4j.** { *; } -dontwarn pinyindb.** -keep class pinyindb.** { *; } ####viewinjected -dontwarn com.dbjtech.inject.** -keep class com.dbjtech.inject.** { *; } ####volley -dontwarn com.android.volley.** -keep class com.android.volley.** { *; } ####http -dontwarn org.apache.http.** -keep class org.apache.http.** { *; } ####videocache -dontwarn com.danikula.videocache.** -keep class com.danikula.videocache.** { *; } ### 忽略警告 -ignorewarning #apk 包内所有 class 的内部结构 -dump class_files.txt #未混淆的类和成员 -printseeds seeds.txt #列出从 apk 中删除的代码 -printusage unused.txt #混淆前后的映射 -printmapping mapping.txt #保持 native 方法不被混淆 -keepclasseswithmembernames class * { native <methods>; } #保持 Parcelable 不被混淆 -keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; } #保持 Serializable 不被混淆 -keepnames class * implements java.io.Serializable #避免混淆泛型 如果混淆报错建议关掉 -keepattributes Signature # 实体类不参与混淆。 -keep class com.booyue.babylisten.bean.** { *; } # 自定义控件不参与混淆 -keep class com.booyue.babylisten.customview.** { *; } ############友盟统计混淆 -keepclassmembers class * { public <init> (org.json.JSONObject); } #5.0以上sdk需要添加 -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); }
相关文章推荐
- AndroidStudio的基本配置
- AndroidStudio中常用框架代码混淆配置
- AS混淆基本配置解释及语法
- AndroidStudio的基本配置和使用
- Android Studio 代码混淆基本配置
- AndroidStudio基本配置
- 关于AndroidStudio混淆打包 proguard-rules.pro 的配置
- APK签名、混淆基本配置、打包以及常见问题
- 关于AndroidStudio混淆配置,简单的整理
- AndroidStudio 使用Release签名进行Debug 多渠道打包 混淆 全局配置
- 从Eclipse到AndroidStudio(四)Gradle基本配置
- 从Eclipse到AndroidStudio(四)Gradle基本配置
- AndroidStudio配置gradle,APP自动签名
- 初学JSP--关于JDK和tomcat的基本配置
- OSPF 基本配置
- Spring3 MVC 注解(一)---注解基本配置及@controller和 @RequestMapping 常用解释
- 思科路由器基本配置与常用配置命令(simple for CCNA)
- DNS基本的理论知识以及简单的安装配置你掌握了吗?
- 运用WinDbg分析崩溃转储dmp文件的基本配置和简单命令(win7下)
- Spring Boot基本配置和常见的运行时错误以及解决