ProGuard is a free Java class file shrinker and obfuscator. It can detect and remove unused classes, fields, methods, and attributes. It can then rename the remaining classes, fields, and methods using short meaningless names. The resulting jars are smaller and harder to reverse-engineer. |
More compact jar files also means smaller storage requirements, faster transfer of applets across networks, faster loading, and smaller memory footprints.
Advantages of ProGuard compared to other Java obfuscators are compact template-based configuration, memory efficiency, and speed:
-keep public class * extends java.applet.AppletThe user manual explains all available options and shows more examples of this powerful configuration style.
The following sections provide in-depth views of ProGuard: