Version 1.2.3
Why a new version ?
This version brings critical stability and security improvements for production builds (Release). We focused on full compatibility with obfuscation and minification tools (R8/ProGuard) and data communication resilience (JSON/Gson).
Strict mapping of @Keep annotations applied to all Model classes, DTOs (Data Transfer Objects), and public entities (MPPViewData, UiMessage, etc.). This ensures that the client application can enable R8 in its release builds without breaking communication with our SDK.
In addition, in the Application setup, the only change is that the packageName field now does not accept null values.
How to implement it?
The only change required in the Application setup is that the packageName field no longer accepts null values. To fill in this field, you can pass the literal string or capture the value dynamically using applicationContext.packageName.
Note: When minifyEnabled true is enabled, the build itself will require changes to a file called
When minifyEnabled true is enabled, R8 (Android's code optimizer and obfuscator) scans all the code and may find references to classes that do not exist in your project. This usually happens because some third-party libraries reference other “optional” libraries that you did not include.
As a safety measure to prevent the app from breaking, R8 pauses the build, alerts you about these references, and automatically generates a text file containing the rules to ignore these alerts. This file is saved in the path: C:\path_to_your_project\...\release\missing_rules.txt.
It is important to note that these rules are completely unique to each project, as they depend directly on the libraries being imported. Therefore, the file provided below is only an example, as each application will have its own custom-generated rules.
Last updated

