I am developing an application in the Unity environment.
When I compile the license check for Windows, everything works correctly.
However, when I switch the build to Android, I receive the error "Insufficient system permissions" at
If I use the flag LA_IN_MEMORY , the error doesn’t occur, but every time I reopen the application, it prompts for a new license activation.
Since you are passing LA_IN_MEMORY as a permission flag to SetProductId() which stores activation data only in the memory which means when the app is restarted the activation information is removed too. Please try using the LA_USER flag instead.
In the manifest, the following permissions are defined:
You need to ensure that the above two permissions are set in the Android manifest which the LexActivator library requires. However if you have already defined these, I will get in touch with my team to check further and keep you posted here!
It looks like the issue might be related to how Unity handles application sandboxing on Android. Unity apps run in a managed environment that may prevent LexActivator for Android from accessing the app’s private internal storage to store the license data. This can lead to the “Insufficient system permissions” error you’re seeing when using LA_USER.
One thing you can try is using the SetDataDirectory() function provided by the SDK, which allows you to specify a custom path for storing license data. We recommend setting this to a path that’s writable by your Unity app — for example:
Glad to know that it’s working. If you need any further assistance or run into any other issues, feel free to reach out to us at support@cryptlex.com anytime, we’re happy to help!