ProGuard简介和执行流程(一)

1 ProGuard简介

  ProGuard是一款免费的Java类文件的压缩器(Shrink)、优化器(Optimize)、混淆器(Obfuscate)和预验证器(Preveirfy)。

1) 压缩(shrink):用于检测并递归确定使用哪些类和类成员,删除没有使用的类、字段、方法和属性;

2) 优化(Optimize):对字节码进行优化,非入口的类和方法可以使私有、静态或final,删除未使用参数,移除无用指令;

3) 混淆(Obfuscate):使用简短无意义名称重新非入口的命名类名、字段名和方法名,使代码库更小,更高效,并且更难以进行逆向工程;

4) 预检(Preveirfy):主要是在Java平台上对处理后的代码进行预检;

 

2. 优点

1. 精简代码库,可以更高效进行加载和更小的内存占有;

2. 代码更加难以逆向工程;

3. 重新进行定位和预检,可以充分利用jdk更快加载;

4. 混淆速度很快;

3. ProGuard文档

 

   3.1 官网文档:

       ProGuard官网;

   3.2 本地文档

       在sdk文件中有proGuard的文档,eg:android\sdk\tools\proguard\docs,打开main.html

 

4. ProGuard执行流程

  ProGuard简介和执行流程(一)_第1张图片

  ProGuard会读取Input jar压缩为压缩码,然后优化为优化码,再混淆为混淆码,最后对代码进行预检,生成input jars;但是Library jars是始终不变的;

你可能感兴趣的:(Android开发,ProGuard配置,Android,ProGuard配置)