从品牌网站建设到网络营销策划,从策略到执行的一站式服务
混淆器通过删除从未用过的代码和使用晦涩名字重命名类、字段和方法,对代码进行压缩,优化和混淆。结果是一个比較小的.apk文件,该文件比較难进行逆向project。因此,当你的应用程序对安全敏感(要求高),比如当你授权应用程序的时候,混淆器是一种重要的保护手段。
武江网站建设公司创新互联,武江网站设计制作,有大型网站制作公司丰富经验。已为武江成百上千家提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的武江做网站的公司定做!
proguard 基本语法
// 保留native方法的方法的方法名和包含native方法的类的类名不变 -keepclasseswithmembernames class { native; } // 保留继承与View的类中的set*和get*方法 -keepclassmembers public class * extends android.view.View { void set*(***); *** get*(); } // 保留继承与Activity的类中以View为参数的方法 -keepclassmembers class * extends android.app.Activity { public void *(android.view.View); } // 保留实现了Parcelable 接口的类的类名以及实现了 Parcelanle$Creator 的内部类 -keep class * implemenets android.os.Parcelable { public static final android.os.Parcelanle$Creator *; } // 保留 R$*类中静态字段的字段名 -keep class **.R$* { public static ; }
也就是
类名不混淆 用keep
方法名不混淆 用keepclassmembers 或者 keepclasseswithmembernames(后者用于native不混淆)
不混淆的情况:
1 jni 调用java方法
2 四大组件
3 R文件
4 某些通过反射调用的类或方法
5 第三jar包(一般情况下不要混淆)
混淆去掉log
-assumenosideeffects class android.util.Log { public static boolean isLoggable(java.lang.String,int); public static int v(...); public static int i(...); public static int w(...); public static int d(...); public static int e(...); }
assumenosideeffects,proguard 配置文件里的参数。assume no side effects;假定无效;该属性也就是标识无效代码。我们就是通过这个参数来让proguard删除日志代码。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图