SDK reference · Cordova SDK

Known Issues

This page lists known issues with the Incode Onboarding Cordova Plugin, their status, and workarounds.

Virtual environment crash on Android

Status: By design (security feature).

Platform: Android.

When running in a virtual or emulated environment, the app may crash with a NullPointerException originating in ThemeConfiguration$Builder and related repository classes. This crash is triggered by the SDK's hook and virtual-environment detection, which intentionally cause a native crash that application code cannot catch or handle.

As of 4.2.0, emulator and root detection no longer abort the flow; the onboarding continues normally. Hook and virtual-environment detection still trigger an unrecoverable native crash.

Example stack traces:

java.lang.NullPointerException
    at com.incode.welcome_sdk.ThemeConfiguration$Builder.setLabelSmallStyle(SourceFile:1066)
    at com.incode.welcome_sdk.f.c(SourceFile:150)
    at com.incode.welcome_sdk.data.local.m.as(SourceFile:22)
    at com.incode.welcome_sdk.IncodeWelcome.startOnboardingSection(SourceFile:18)
java.lang.NullPointerException: Attempt to get length of null array
    at com.incode.welcome_sdk.data.IncodeWelcomeRepository.d(SourceFile:320)
    at com.incode.welcome_sdk.data.IncodeWelcomeRepository.i(SourceFile:214)

Workaround: Do not run production builds in virtual environments. For development and testing on emulators, see Emulator and simulator false security triggers below.

Emulator and simulator false security triggers

Status: Workaround available.

Platform: All.

Running on simulators or emulators can trigger security checks that return errors such as simulatorDetected.

Workaround: Set testMode to "true" when calling initializeSDK() on simulators and emulators. Use testMode: "false" on real devices in production, otherwise you may receive a testModeEnabled error.

iOS double initialization

Status: By design.

Platform: iOS.

The iOS SDK guards against double initialization. Calling initializeSDK() more than once per app lifecycle is a no-op on iOS.

Workaround: Initialize once per app lifecycle. Use isInitialized() to check state before attempting to reinitialize.

setCommonConfig deprecated

Status: Deprecated since 4.6.0; scheduled for removal.

Platform: All.

setCommonConfig() is deprecated. It now forwards internally to showCloseButton() and logs a deprecation warning. It will be removed in a future major release.

Workaround: Use showCloseButton(successCallback, errorCallback, allowUserToCancel) instead.

Was this page helpful?