Does your your application use the Helpshift SDK in two different processes? Do you initialize the Helpshift SDK in both processes?

In a multi-process android app (https://developer.android.com/guide/components/processes-and-threads.html), the Application.onCreate() is called for every process.

Any code in Application.onCreate() is called for all processes that the app starts. Hence, it will create separate objects for each process since different process do not share address spaces, so database connections are duplicated across processes.

Workaround

To avoid this crash, place your initialization code in the main process only (or the required process, as per the initialization code). This can be done by checking the process name in which Application.onCreate() is called. If the process name is the application id (example: “com.example.app”) then you can call Helpshift’s “install” call in that process. This will make sure that the Helpshift code is executing in only the main process. Any code other than Helpshift’s in the Application.onCreate() will also be affected by having a multi-process app.

Sample code to include in Application.onCreate():

ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
List infos = activityManager.getRunningAppProcesses();
int myPid = android.os.Process.myPid();
for (ActivityManager.RunningAppProcessInfo info : infos) {
if (myPid == info.pid) {
if (info.processName.equals(getApplicationInfo().packageName)) {
// This is running in the main process of the app.
//Core.install()
}
}
}