Obfuscate Application property

Official Content
This documentation is valid for:
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

Description

If set to TRUE, the apk is obfuscated during the compilation process.

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 might include helping to protect licensing mechanisms and unauthorized access and shrinking the size of an executable.

When enabling the property, at compile time the application will be obfuscated using the ProGuard tool. It 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.

Notes

  • GeneXus generates mapping files under <model>/<environment>/mobile/Andorid/<main>/build/outputs/mapping/* directory. It is highly recommended that developer keeps this files when distributing the app in order to deobfuscate it (even can be uploaded to Google Play Store -- e.g. for viewing the stack trace if a crash error occurs).
  • Make sure to recompile your Android main objects after changing this property value.

The property is available as since GeneXus 15 Upgrade 3.

How to apply changes

To apply changes made by this property, Build a main object.

Scope

Objects: Main Smart Devices
Platforms: Smart Devices(Android)

Was this page helpful?
What Is This?
Your feedback about this content is important. Let us know what you think.