Official Content

If True, the application will be shrunk as part of the compilation process, removing unused code and obfuscating remaining methods and classes using short names.

Values

False
True

Scope

Objects: Menu, Panel, Work With (Only Main Objects)
Generators: Android

Description

Obfuscation is the practice of making something difficult to understand. Programming code is often obfuscated to protect intellectual property and prevent an attacker from reverse engineering a proprietary software program.

You can obfuscate code to provide security against reverse engineering, making this process difficult and economically unfeasible. Other advantages may include helping to protect licensing mechanisms, prevent unauthorized access, and shrink the size of an executable.

When the Obfuscate Application property is set to True, the .abb file is obfuscated during compilation.

Enabling this property causes the application to be obfuscated at compile time using the ProGuard tool, which detects and removes unused classes, fields, methods, and attributes. In addition, it optimizes bytecode, removes unused instructions, and renames the remaining classes, fields, and methods using short, meaningless names.

Notes

  • GeneXus generates mapping files under the <model>/<environment>/mobile/Android/<main>/build/outputs/mapping/* directory. It is highly recommended that developers keep these files when distributing the app to deobfuscate it (they can even be uploaded to Google Play Store, for example, for viewing the stack trace if a crash error occurs).
  • For the Obfuscate Application property to take effect, the Compilation Mode property (available at generator level) must be set to 'Distribution'.
  • Make sure to recompile your Android Main Objects after changing this property value.

The property is available since GeneXus 15 Upgrade 3.

How to apply changes

To apply the corresponding changes when the property value is configured, Build the Main Object.

Last update: March 2025 | © GeneXus. All rights reserved. GeneXus Powered by Globant