android ProGuard
Introduction:
ProGuard 能过对java class文件进行压缩(shrinker),优化(optimizer),混淆(obfuscator)以及审核(preverfier)。
压缩主要是移去不使用的类,属性和方法,优化主要是分析和优化方法的字节码,混淆就是用一些短的无意义的名字来重命名类,属性以及方法。
以上四个步骤用以下图展示如下:
Usage
(1)使用ProGuard,可以使用如下命令:
java -jar proguard.jar options ...
其中proguard.jar在android sdk tools目录下的proguard文件夹下的lib目录里,options一般是你的configuration文件例如:
java -jar proguard.jar @myconfig.pro
(2)配置文件一般命令介绍:
-injars class_path
指定被ProGuard运行的jar包
-outjars class_path
指定被ProGuard处理后被存放的jar位置
-keep[modifier,...]class_specification
指定类以及类的成员被保留下来。
类如我们希望所有继承activity的类被保留下来可以如下写:
-keep class * extends android.app.Activity