Breaking News
Home / Java / Java FAQ / What is ProGuard?

What is ProGuard?

ProGuard is a free Java class file shrinker, optimizer, obfuscator, and
preverifier. It detects and removes unused classes, fields, methods, and
attributes. It optimizes bytecode and removes unused instructions. It renames
the remaining classes, fields, and methods using short meaningless names.
Finally, it preverifies the processed code for Java 6 or for Java Micro

Some uses of ProGuard are:

  • Creating more compact code, for smaller code archives, faster transfer
    across networks, faster loading, and smaller memory footprints.
  • Making programs and libraries harder to reverse-engineer.
  • Listing dead code, so it can be removed from the source code.
  • Retargeting and preverifying existing class files for Java 6, to take full
    advantage of Java 6’s faster class loading.<!>

ProGuard‘s main advantage compared to other Java obfuscators is
probably its compact template-based configuration. A few intuitive command
line options or a simple configuration file are usually sufficient.
The user manual explains all available options and shows examples of this
powerful configuration style.

This project is hosted on sourceforge.


Check Also

How to you specify which logger implementation to be used by Apache Commons Logging?

Answer The Apache Commons Logging provides a high level interface class to allow developers to …

Leave a Reply