Proguard介绍

Proguard是什么:

ProGuard是一个压缩、优化和混淆Java字节码文件的免费的工具,它可以删除无用的类、字段、方法和属性。可以删除没用的注释,最大限度地优化字节码文件。它还可以使用简短的无意义的名称来重命名已经存在的类、字段、方法和属性。常常用于Android开发用于混淆最终的项目,增加项目被反编译的难度。(百度)

为何使用Proguard:

通常情况下,编译后的字节码仍然包含了大量的调试信息:源文件名,行号,字段名,方法名,参数名,变量名等等。这些信息使得它很容易被反编译和通过逆向工程获得完整的程序。有时,这是令人厌恶的。例如像ProGuard这样的混淆器就能删除这些调试信息,并用无意义的字符序列来替换所有名字,使得它很难进行逆向工程,它进一步地精简代码。除了异常堆栈信息所需要的类名,方法名和行号外,程序只会保留功能上的等价。通过以上的了解,你应该明白为什么需要混淆了。

Proguard功能:

  • 压缩(shrink)
    移除未使用的类、方法、字段等;
  • 优化(optimize)
    优化字节码、简化代码等操作;
  • 混淆(obfuscate)
    使用简短的、无意义的名称重全名类名、方法名、字段等;
  • 预校验(preverify)
    为class添加预校验信息。

你可能感兴趣的:(Proguard,Proguard)