ProGuard is our free generic optimizer and obfuscator for Java bytecode. ProGuard makes your apps smaller (20% - 90%) and faster (10% - 20%). It's also the first step to protect your apps against reverse-engineering. Over the years, ProGuard has solidly become the industry standard in its field. It is the default tool in development environments like Oracle's Wireless Toolkit, NetBeans, EclipseME, Intel's TXE SDK and Google's Android SDK. However, when security is important, you should have a look at DexGuard, which offers additional Android-specific security layers on top of ProGuard.
Obfuscate Java applications. Optimization is not as important on virtual machines with advanced JIT compilation, but obfuscation helps to protect the app against reverse engineering.
Optimize and obfuscate Java applications for cell phones, Blu-ray players, set-top boxes, and other constrained devices.
Optimize and obfuscate Android apps. As a generic optimizer and obfuscator, ProGuard also works on Java bytecode for Android. For additional security, consider DexGuard, our dedicated product for Android.
Technically, ProGuard 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.
You can download the latest release, including the documentation, examples, and the source code from the official ProGuard site at Sourceforge.
|ProGuard||DexGuard Standard||DexGuard Enterprise|