ProGuard是一个压缩、优化和混淆Java字节码文件的免费的工具,它可以删除无用的类、字段、方法和属性。可以删除没用的注释,最大限度地优化字节码文件。它还可以使用简短的无意义的名称来重命名已经存在的类、字段、方法和属性。常常用于Android开发用于混淆最终的项目,增加项目被反编译的难度。
由于不是纯JAVA项目,而是WEB项目,涉及到大量的配置文件,所以用这个工具稍显吃力,于是开始研究这玩意,花了好长一段时间,重复试验了N次,终于整出来了,下面总结一下我的经验并附上proguard 教程地址http://blog.csdn.net/zhangdaiscott/article/details/45368261
优化种类
除了在压缩操作删除的无用类,字段和方法外,ProGuard也能在字节码级提供性能优化,内部方法有:
常量表达式求值
删除不必要的字段存取
删除不必要的方法调用
删除不必要的分支
删除不必要的比较和instanceof验证
删除未使用的代码
删除只写字段
删除未使用的方法参数
像push/pop简化一样的各种各样的peephole优化
在可能的情况下为类添加static和final修饰符
在可能的情况下为方法添加private, static和final修饰符
在可能的情况下使get/set方法成为内联的
当接口只有一个实现类的时候,就取代它
选择性的删除日志代码
proguard的混淆规则
1.如果使用了Gson之类的工具要使JavaBean类即实体类不被混淆。
2.如果使用了自定义控件那么要保证它们不参与混淆。
3.如果使用了枚举要保证枚举不被混淆。
4.对第三方库中的类不进行混淆。
a.混淆时保护引用的第三方jar包
如:-libraryjars libs/baidumapapi_v3_2_0.jar #保护引用的第三方jar包不被混淆;
注意:在使用Eclipse+ADT时需要加入-libraryjars libs/...,如果你是使用Android Studio开发的项目则不需要加入libs包中的jar包,这是因为,通过Android Studio进行混淆代码时,默认已经将 lib目录中的 jar 都已经添加到打包脚本中,所以不需要再次手动添加,否则会出现“ java.io.IOException: The same input jar is specified twice” 错误。
b.混淆时保护第三方jar包中的类不被混淆
如:-keep class com.baidu.** { *; } #让ProGuard不要警告找不到com.baidu.**这个包里面的类的相关引用;
-dontwarn com.baidu.** #保持com.baidu.**这个包里面的所有类和所有方法不被混淆。
同类佳作
-
- ultraEdit v27.10.0.132 中文版 下载
- 9.万 | 92.4 MB
- 一个功能强大的基于磁盘的文本
-
- 源码智造编辑器 V1.0.0 电脑版 下载
- 1.万 | 117.5 MB
- 是一款适合青少年使用的编程学
-
- BabelEdit(json翻译编辑器) V1.9.0 电脑版 下载
- 3.4万 | 33.2 MB
- 是一款强大的Json在线翻译编辑
-
- Textadept(文本编辑工具) V10.1 电脑版 下载
- 3.万 | 15.8 MB
- 是一款专为编程用户设计的非常
-
- 易联POST调试工具 V2.17 电脑版 下载
- 4.4万 | 1.5 MB
- 是一款简单以及方便的调试工具
-
- Rapid PHP editor(PHP编辑器) V15.0 电脑破解版 下载
- 4.1万 | 63.2 MB
- 是一款功能非常全面的php代码
-
- JAR Compare(Jar比较分析工具) V1.0 电脑版 下载
- 5.1万 | 501.4 KB
- 是一款非常实用的Jar比较分析
-
- python Tkinter GUI可视化助手 V0.2 电脑版 下载
- 6.1万 | 1.1 MB
- 是一款绿色功能实用的PythonT
近期新游
精选专题
话题问答
- 2022-06-24金铲铲之战驯龙敖兴阵容玩法攻略
- 2022-06-24金铲铲之战九星界龙阵容玩法攻略
- 2022-06-24金铲铲之战重骑熊阵容玩法攻略
- 2022-06-24原神久岐忍邀约任务攻略
- 2022-06-26数码宝贝新世纪番长飞虫兽天赋加点推荐
- 2022-06-24阴阳师百鬼乱狱第四关通关攻略
- 2022-06-24王者荣耀戈娅玩法攻略
- 2022-06-26金铲铲之战s7泥头车阵容攻略
- 2022-06-24堆叠大陆第三章玩法攻略
- 2022-06-23哈利波特魔法觉醒染发魔药制作攻略
火爆专区
最新资讯
-
- 号称“无担保,秒到账”的网络贷款,很可能是
- 662024-11-23
-
- 蚂蚁庄园2024年11月24日答案
- 1202024-11-23
-
- 2024蚂蚁庄园今日最新答案11.24
- 1822024-11-23
-
- 2024今日小鸡最新答案11.24
- 452024-11-23
-
- 小鸡宝宝考考你有些树的叶子到了秋天就会变红,猜猜与什么有关
- 2252024-11-23
-
- 为什么树的叶子到了秋天就会变红
- 1202024-11-23
-
- 温泉招待活动期间,使用“温泉’招 待光临温泉的忍者们,累计一定次数后可获得成就奖励?
- 2202024-11-23
-
- 蚂蚁庄园今日正确答案11月24日
- 192024-11-23