Proguard 参数意思

1、-injars //表示要进行混淆的class文件或jar、war等,可用文件目录表示,例如:

2、-injar ../jar(**.class) 或者-injar ../jar/in.jar

3、-outjars 表示要生成的jar包,后跟jar包名字,如:-outjars ../out.jar

4、-libraryjars 后面跟要编译in.jar的其它类包,如果是多个,用多行列出,如:

5、-libraryjars d:/1/2/1.jar

6、-libraryjars d:/1/2/2.jar

7、-libraryjars d:/1/2/3.jar

8、-libraryjars d:/1/2/4.jar

9、-keep 后跟项目的入口类,如:-keep public class gps.lip.LIPService{ public static void main(java.lang.String[])}

-keep 后还可以跟在项目中没有用到的类或方法,但在配置文件中有用到,如果不用该参数保留出来,在做优化时,就会直接的删除掉了,项目运行时会报找不到类的错误。

-printusage该参数是把优化时移除的类及方法记录下来,后跟一个文件。如:-printusage ./jar/deadCode.txt

其余的常用的参数,如:

10、-target 1.6 //指定版本号

11、-forceprocessing //强制执行,即使过期

12、-allowaccessmodification //指定,当执行修改方法或属性的modifer范围

13、-printmapping  //指定混淆后,类或方法生成的map,后跟指定的路径及文件名 *.map

14、-overloadaggressively //

15、-repackageclasses //把执行后的类重新放在某一个目录下,后跟一个目录名

16、-dontpreverify //不用预先检查

17、-verbose //不用输出详细的过程

18、-dontwarn//不用输出警告

19、-dontnote//不用输出通知

http://blog.csdn.net/atrueman123/article/details/6281658

原文地址:https://www.cnblogs.com/terryc/p/5052196.html