Q&A
My app crashes with OneginiConfigNotFoundException.
The SDK needs a configuration class, that implements OneginiClientConfigModel
interface.
You can pass it explicitly via OneginiClientBuilder#setConfigModel()
method. If the method was not called (or the provided value is null
), the SDK will
use reflection and the Context.getPackageName()
method to search for the class <your.application.package>.OneginiConfigModel
, that implements the
OneginiClientConfigModel
interface. If the proper class can't be found, the SDK will throw a OneginiConfigNotFoundException
exception.
My app crashes with OneginiInitializationException("Unable to decrypt internal data...")
In order to improve security of internal data, the SDK encrypts all storage files. The encryption functionality assumes, that some properties of the
application won't change during the lifetime of the app. For example the application id that is defined in OneginiClientConfigModel
should never change after
the initial production release. Hoverer, sometimes you may change such properties during app's development. After such change the SDK will not be able to load
internal data that was stored before the change. If you want to force the SDK to work again after such change, you can remove the app's internal data from the
device (go into Android's Settings -> Apps and clear your app's data) or reinstall the app itself.
How can I disable root/debug detection?
Please check the SecurityController description.
How can I check network communication logs?
Please check the SecurityController description.
Push notifications delayed, heartbeat interval not reliable.
If you are using push messaging, you need to be aware that the connection with the google push service is checked infrequently. This can cause for delays in the reception of the push messages, since the connection can be broken without the device being aware of that. To prevent this either the application itself needs to check for the connection to be alive, or you can advice your users to install an application like Push Notifications Fixer.
The KeyStore exception warning
Sometimes during DCR process the Android system creates a warning log with a stacktrace:
This warning is caused by a system bug that was reported here: https://issuetracker.google.com/issues/77664363 According to Google the issue should already be resolved, however it is still reproducible on many modern devices. According to our research the warning does not influence the DCR process which is still able to complete with success, therefore we suggest to ignore the warning.
Failed to transform bcprov-jdk15on
SDK v11.2.0+ uses the org.bouncycastle:bcprov-jdk15on
library that can cause a build error when used with Android Gradle Plugin 4.x or earlier. The error log looks like the one below:
This is a bug in Android Gradle Plugin that should be fixed in Android Gradle Plugin 7.0
If you want to use the SDK but can not update to latest AGP yet, the workaround suggested in the link above is to add the following setting to your gradle.properties
file: