首页 > 软件下载 > 编程开发

proguard 5.3.3官方正式版

2023-03-26

资源介绍

proguard官方版是一款免费的Java类文件的压缩、优化、混肴的软件。proguard可以很好的保护JAVA源代码,避免其被反编译,保护方法就是对编译好后的class文件进行混淆。该软件集压缩器、优化器、混淆器、预校验器于一身,功能强大,推荐需要的人下载。

proguard功能介绍:

  压缩(Shrink):检测并移除代码中无用的类、字段、方法和特性(Attribute)。

  优化(Optimize):对字节码进行优化,移除无用的指令。

  混淆(Obfuscate):使用a,b,c,d这样简短而无意义的名称,对类、字段和方法进行重命名。

  预检(Preveirfy):在Java平台上对处理后的代码进行预检,确保加载的class文件是可执行的。

proguard软件特色

  ProGuar由shrink、optimize、obfuscate和preveirfy四个步骤组成,每个步骤都是可选的,我们可以通过配置脚本来决定执行其中的哪几个步骤。

  混淆就是移除没有用到的代码,然后对代码里面的类、变量、方法重命名为人可读性很差的简短名字。

  那么有一个问题,ProGuard怎么知道这个代码没有被用到呢?

  这里引入一个Entry Point(入口点)概念,Entry Point是在ProGuard过程中不会被处理的类或方法。在压缩的步骤中,ProGuard会从上述的Entry Point开始递归遍历,搜索哪些类和类的成员在使用,对于没有被使用的类和类的成员,就会在压缩段丢弃,在接下来的优化过程中,那些非Entry Point的类、方法都会被设置为private、static或final,不使用的参数会被移除,此外,有些方法会被标记为内联的,在混淆的步骤中,ProGuard会对非Entry Point的类和方法进行重命名。

  那么这个入口点怎么来呢?就是从ProGuard的配置文件来,只要这个配置了,那么就不会被移除。

proguard使用方法

  除了在压缩操作删除的无用类,字段和方法外,ProGuard也能在字节码级提供性能优化,内部方法有:

  常量表达式求值

  删除不必要的字段存取

  删除不必要的方法调用

  删除不必要的分支

  删除不必要的比较和instanceof验证

  删除未使用的代码

  删除只写字段

  删除未使用的方法参数

  像push/pop简化一样的各种各样的peephole优化

  在可能的情况下为类添加static和final修饰符

  在可能的情况下为方法添加private, static和final修饰符image.png

展开全部

版权声明

1 本站所有资源(含游戏)均是软件作者、开发商投稿,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!

2 本站资源下载后不得用于商业用途,所有资源请在下载后24小时内删除。

3 若有关在线投稿、无法下载等问题,请与本站客服人员联系。

4 如侵犯了您的版权、商标等,请立刻联系我们并具体说明情况后,本站将尽快处理删除,联系QQ:2499894784

最近更新

热门排行

最需网客户端 软件问题一手掌握

去 App Store 免费下载 iOS 客户端