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 Edition. The resulting jars are more compact and more difficult to reverse-engineer. Advantages of ProGuard compared to other Java shrinkers and obfuscators are compact template-based configuration, memory efficiency, and speed.
This release adds support for processing Java 7 code. It shrinks class files slightly better. It fixes a number of issues in the optimization and obfuscation steps and in the GUI. For Android developers, it works around a problem with spaces in path names in the Android SDK.