Open sourceActive

ProGuard

Open-source shrinker, optimizer, obfuscator, and preverifier for Java bytecode.

Open source page

Product features

Product features

Annotation Processing

Bean Class Processing

Supports processing of bean classes.

Bytecode Optimization

Optimizes bytecode for smaller size and faster execution.

Callback Method Processing

Supports processing of callback methods.

Class Specifications

Detailed specifications for matching classes.

Code Shrinking

Removes unused classes, fields, and methods.

Configuration Examples

Provides examples for various application types and common code constructs.

Entry points

Definition of entry points in ProGuard configuration.

Enumeration Class Processing

Supports processing of enumeration classes.

Identifier Renaming

Renames classes and methods to make reverse engineering harder.

Input/Output Options

Options for specifying input and output jars.

Java Bytecode Processing

Processes Java bytecode for shrinking, optimization, and obfuscation.

Keep Options

Options to specify classes and members to keep.

Native Method Processing

Supports processing of native methods.

Obfuscation Options

Options controlling code obfuscation.

Optimization Options

Options controlling code optimization.

Reflection

Handling of reflection in ProGuard.

Serializable Class Processing

Supports processing of serializable classes.

Shrinking Options

Options controlling code shrinking.