Herramienta para reducir, optimizar y ofuscar archivos de clases Java. ProGuard analiza el código Java, detecta y elimina clases, campos, métodos y atributos no utilizados, optimiza el código de bytes y elimina instrucciones no utilizadas. Además, puede ofuscar el código Java para dificultar su ingeniería inversa.
$ proguard -injars myapp.jar -outjars myapp_optimized.jar -libraryjars <java.home>/lib/rt.jar
$ proguard -injars myapp.jar -outjars myapp_obfuscated.jar -libraryjars <java.home>/lib/rt.jar -keep public class * { public protected *; }
$ proguard -injars myapp1.jar -injars myapp2.jar -outjars myapp_combined_optimized.jar -libraryjars <java.home>/lib/rt.jar