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.
Objects: Menu, Panel, Work With (Only Main Objects)
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.
- 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.
To apply the corresponding changes when the property value is configured, Build the Main Object.