ProGuard配置
ProGuard配置
牛八少爷
工欲善其事,必先利其器
展开
-
ProGuard简介和执行流程(一)
1 ProGuard简介 ProGuard是一款免费的Java类文件的压缩器(Shrink)、优化器(Optimize)、混淆器(Obfuscate)和预验证器(Preveirfy)。1) 压缩(shrink):用于检测并递归确定使用哪些类和类成员,删除没有使用的类、字段、方法和属性;2) 优化(Optimize):对字节码进行优化,非入口的类和方法可以使私有、静态或final,删除...原创 2018-07-13 05:17:16 · 893 阅读 · 0 评论 -
ProGuard的反射获取类和类成员(二)
5. 处理反射反射(Reflection)和内省(IntroSpector)对代码的自动处理提出了特殊的问题;在ProGuard中,代码中创建或调用的类或类成员也必须指定入口点,通过Class.ForName()构造在运行时引用的任何类,哪些类需要预留都可以在配置文件中进行配置。因此,必须在ProGuard中配置进行指定,ProGuard已经为你检测和处理情况:Class.forName...原创 2018-07-13 05:17:28 · 644 阅读 · 0 评论 -
ProGuard参数配置(三)
6.参数配置6.1输入输出选项(Input/Output Options)-include {filename} 递归从给定的目录中读取配置参数 -basedirectory {directoryname} 指定基础目录为以后相对的档案名称 -injars {class_path} 指定要处理的应用程序jar,war,ear和目录 -outj...原创 2018-07-13 05:17:38 · 390 阅读 · 0 评论 -
ProGuard参数配置(四)
6.3压缩选项( Shrink Options)-dontshrink 不压缩输入的类文件 ,默认除了keep相关的类,其他未被引用的类被删除;-printusage {filename} 将删除的元素输出到文件,或输出流;-whyareyoukeeping {class_specification} 打印为什么要保护这个类成员; 6...原创 2018-07-13 05:17:53 · 466 阅读 · 0 评论 -
ProGuard参数配置(五)
6.6 预校验选项(Preverification Options)Android不需要preverify,去掉可以加快混淆;-dontpreverify 混淆是否做预校验,-microedition6.7 常规选项(General Options)-verbose 混淆时是否记录日志;-dontnote [class_filter] 不打印某些错...原创 2018-07-13 05:18:05 · 347 阅读 · 0 评论 -
ProGuard类和类成员修饰和注意事项(六)
8. 保持元素不参与混淆的规则语句结构:[保持命令] [类] { [成员] }“类”表示符合相关限定条件的类,它的内容可以使用:具体的类 访问修饰符(public、protected、private) 通配符*,匹配任意长度字符,但不含包名分隔符(.) 通配符**,匹配任意长度字符,并且包含包名分隔符(.) extends,即可以指定类的基类 implement,匹配实现了某...原创 2018-07-13 08:07:36 · 610 阅读 · 0 评论 -
ProGuard配置模版(七)
############################### 常规配置 ################################ 忽略警告,避免打包时某些警告出现-ignorewarnings#指定代码混淆压缩级别,在0~7之间,默认为5,一般不做修改-optimizationpasses 5#是否使用大小写混合,混合后的类名为小写-dontus...原创 2018-07-13 08:10:05 · 670 阅读 · 0 评论 -
ProGuard的第三方jar配置案例(八)
############################### 第三方jar配置 ################################ AndroidEventBus-keep class org.simple.** { *; }-keep interface org.simple.** { *; }-keepclassmembers class * { @...转载 2018-07-13 08:18:04 · 738 阅读 · 0 评论 -
AndResGuard资源混淆工具(微信资源混淆打包)
参考资料:github的 Android资源混淆工具使用说明 WeMobileDev公众号文章 AndResGuard是腾讯内部员工开源的项目,腾讯多个Android产品使用; AndResGuard的原理类似Java ProGuard,但是它只针对资源,会将原本的资源路径变短;例如res/drawable/wechat变...原创 2018-07-14 10:14:38 · 1017 阅读 · 0 评论