Caution: In this restricted "Fossies" environment the current HTML page may not be correctly presentated and may have some non-functional links.
Alternatively you can here view or download the uninterpreted raw source code.
A member file download can also be achieved by clicking within a package contents listing on the according byte size field.
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.
ProGuard is fast. It only takes seconds to process programs and
libraries of several megabytes. The results section presents actual figures
for a number of applications.
ProGuard is a command-line tool with an optional graphical user
interface. It also comes with plugins for Ant and for the JME Wireless
ProGuard is being used in various development contexts, ranging from
small Android apps to large Java applications and libraries. Its user base is
continuing to grow at a fast pace. In order to better manage the many
questions and requests, we are now providing professional support at
The following sections provide more detailed information: