Make Synthetic
Make Synthetic — Options
The Make Synthetic — Options panel lets you control if and how synthetic flags are added to fields and methods. Synthetic flags confuse some de-compilers
Make Synthetic
This obfuscation marks methods and fields as synthetic, generated by the Java compiler, which confuses some decompilers. It has four possible settings:
Never – No methods or fields are affected.
Only private and package – Methods and fields that are private or package-private are made synthetic.
If not public – Methods and fields that are private, package-private, or protected are made synthetic.
All – All methods and fields are made synthetic.
This setting is stored in the <make-synthetic> Section of the project file.
Note: When obfuscating a library, use a
Make Synthetic
option ofNever
,Only private and package
, orIf not public
. ChoosingAlways
will prevent the library from being properly exposed to your end users.
Make Synthetic — Exclude
The Make Synthetic Exclude panel let you compose rules that determine which parts of the application will have will not be marked synthetic. Methods, classes, or entire packages can be selected.
See Graphical Rules Editor for details.