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.
ProGuard is useful for making code more compact and more efficient, on the desktop, on tablets, on smartphones, and on embedded devices. It also makes code more difficult to reverse engineer.
The key to making Proguard work for you is actually how you JAR your project files! After you create jar, try to verify it using jar tvf your.jar!!! If it works than Proguard will likely work too! Sometimes jar files are created using wrong command line arguments and APPEAR to be fine, only to result in problems when obfuscating!!! Proguard is really stable project and I am using it every time I publish next version of my project (Elliptic Curve Applet) on my site! Warmly recommend it! George Matveev www.matveev.se P.S. support could be a bit better, including submitting a ticket, etc!