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

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 the corresponding changes when the property value is configured, Build the Main Object.

Last update: February 2024 | © GeneXus. All rights reserved. GeneXus Powered by Globant