I’ve tried to upgrade to the 2.4.0.4 version of the onesignal plugin to overcome a different android O crash issue but am getting a crash due to a failure in initializing the plugin,
OneSignal: plugin onesignal init native fail
It looks like a firebase class is not being found by JNI.
Are there any additional steps that need to be taken/any dependencies that need adding in order to switch from GCM to FCM in the onesignal plugin? (Onesignal is configured and working correctly with a firebase ID otherwise)
The stacktrace is as follows:
08-15 15:58:57.993 12791-12820/app.bundle.name A/app.bundle.name: java_vm_ext.cc:542] JNI DETECTED ERROR IN APPLICATION: JNI GetObjectClass called with pending exception java.lang.IllegalArgumentException: Component class com.google.firebase.iid.FirebaseInstanceIdService does not exist in app.bundle.name
java_vm_ext.cc:542] at java.lang.Exception android.os.Parcel.createException(int, java.lang.String) (Parcel.java:1946)
java_vm_ext.cc:542] at void android.os.Parcel.readException(int, java.lang.String) (Parcel.java:1910)
java_vm_ext.cc:542] at void android.os.Parcel.readException() (Parcel.java:1860)
java_vm_ext.cc:542] at void android.content.pm.IPackageManager$Stub$Proxy.setComponentEnabledSetting(android.content.ComponentName, int, int, int) (IPackageManager.java:4892)
08-15 15:58:57.994 12791-12820/app.bundle.name A/app.bundle.name: java_vm_ext.cc:542] at void android.app.ApplicationPackageManager.setComponentEnabledSetting(android.content.ComponentName, int, int) (ApplicationPackageManager.java:2319)
java_vm_ext.cc:542] at void com.onesignal.PushRegistratorFCM.disableFirebaseInstanceIdService(android.content.Context) (PushRegistratorFCM.java:65)
java_vm_ext.cc:542] at void com.onesignal.OneSignal.init(android.content.Context, java.lang.String, java.lang.String, com.onesignal.OneSignal$NotificationOpenedHandler, com.onesignal.OneSignal$NotificationReceivedHandler) (OneSignal.java:662)
java_vm_ext.cc:542] at void com.onesignal.OneSignal.init(android.content.Context, java.lang.String, java.lang.String, com.onesignal.OneSignal$NotificationOpenedHandler) (OneSignal.java:574)
java_vm_ext.cc:542] at boolean com.sdkbox.plugin.PluginOneSignal.nativeInit(com.sdkbox.plugin.JSON) (PluginOneSignal.java:73)
java_vm_ext.cc:542] at void org.cocos2dx.lib.Cocos2dxRenderer.nativeInit(int, int) (Cocos2dxRenderer.java:-2)
java_vm_ext.cc:542] at void org.cocos2dx.lib.Cocos2dxRenderer.onSurfaceCreated(javax.microedition.khronos.opengles.GL10, javax.microedition.khronos.egl.EGLConfig) (Cocos2dxRenderer.java:72)
java_vm_ext.cc:542] at void android.opengl.GLSurfaceView$GLThread.guardedRun() (GLSurfaceView.java:1539)
java_vm_ext.cc:542] at void android.opengl.GLSurfaceView$GLThread.run() (GLSurfaceView.java:1270)
java_vm_ext.cc:542] Caused by: android.os.RemoteException: Remote stack trace:
java_vm_ext.cc:542] at com.android.server.pm.PackageManagerService.setEnabledSetting(PackageManagerService.java:20871)
java_vm_ext.cc:542] at com.android.server.pm.PackageManagerService.setComponentEnabledSetting(PackageManagerService.java:20642)
java_vm_ext.cc:542] at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:1550)
java_vm_ext.cc:542] at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:3856)
java_vm_ext.cc:542] at android.os.Binder.execTransact(Binder.java:731)
java_vm_ext.cc:542]
java_vm_ext.cc:542] (Throwable with no stack trace)
java_vm_ext.cc:542]
java_vm_ext.cc:542] in call to GetObjectClass
java_vm_ext.cc:542] from void org.cocos2dx.lib.Cocos2dxRenderer.nativeInit(int, int)
java_vm_ext.cc:542] "GLThread 328" prio=5 tid=21 Runnable
java_vm_ext.cc:542] | group="main" sCount=0 dsCount=0 flags=0 obj=0x131c46d8 self=0xe321b800
java_vm_ext.cc:542] | sysTid=12820 nice=0 cgrp=default sched=0/0 handle=0xd1146970
java_vm_ext.cc:542] | state=R schedstat=( 909968101 524342943 2515 ) utm=84 stm=6 core=0 HZ=100
java_vm_ext.cc:542] | stack=0xd1043000-0xd1045000 stackSize=1042KB
java_vm_ext.cc:542] | held mutexes= "mutator lock"(shared held)
java_vm_ext.cc:542] native: #00 pc 002d975f /system/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, int, BacktraceMap*, char const*, art::ArtMethod*, void*, bool)+134)
java_vm_ext.cc:542] native: #01 pc 0036e98b /system/lib/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, bool, BacktraceMap*, bool) const+210)
java_vm_ext.cc:542] native: #02 pc 0036b143 /system/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, bool, BacktraceMap*, bool) const+34)
java_vm_ext.cc:542] native: #03 pc 00231e37 /system/lib/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+694)
java_vm_ext.cc:542] native: #04 pc 00232197 /system/lib/libart.so (art::JavaVMExt::JniAbortV(char const*, char const*, std::__va_list)+58)
java_vm_ext.cc:542] native: #05 pc 000c3f77 /system/lib/libart.so (art::(anonymous namespace)::ScopedCheck::AbortF(char const*, ...)+42)
java_vm_ext.cc:542] native: #06 pc 000c2c09 /system/lib/libart.so (art::(anonymous namespace)::ScopedCheck::CheckPossibleHeapValue(art::ScopedObjectAccess&, char, art::(anonymous namespace)::JniValueType)+1052)
java_vm_ext.cc:542] native: #07 pc 000c20f5 /system/lib/libart.so (art::(anonymous namespace)::ScopedCheck::Check(art::ScopedObjectAccess&, bool, char const*, art::(anonymous namespace)::JniValueType*)+624)
java_vm_ext.cc:542] native: #08 pc 000b624f /system/lib/libart.so (art::(anonymous namespace)::CheckJNI::GetObjectClass(_JNIEnv*, _jobject*)+486)
java_vm_ext.cc:542] native: #09 pc 006c0f5d /data/app/app.bundle.name-92paXx0W4k6ixUKEhA87sg==/lib/arm/libcocos2dcpp.so (sdkbox::JNIUtils::GetClassObjectFromObject(_jobject*, _JNIEnv*)+28)
java_vm_ext.cc:542] native: #10 pc 006c13d5 /data/app/app.bundle.name-92paXx0W4k6ixUKEhA87sg==/lib/arm/libcocos2dcpp.so (sdkbox::JNIUtils::GetJNIMethodInfo(_jobject*, char const*, char const*, _JNIEnv*)+40)
java_vm_ext.cc:542] native: #11 pc 0060bd03 /data/app/app.bundle.name-92paXx0W4k6ixUKEhA87sg==/lib/arm/libcocos2dcpp.so (sdkbox::OneSignalProxy::sendTag(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>> const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>> const&)+78)
java_vm_ext.cc:542] native: #12 pc 004ee4b3 /data/app/app.bundle.name-92paXx0W4k6ixUKEhA87sg==/lib/arm/libcocos2dcpp.so (AppDelegate::applicationDidFinishLaunching()+514)
java_vm_ext.cc:542] native: #13 pc 006142eb /data/app/app.bundle.name-92paXx0W4k6ixUKEhA87sg==/lib/arm/libcocos2dcpp.so (cocos2d::Application::run()+8)
java_vm_ext.cc:542] native: #14 pc 00616a79 /data/app/app.bundle.name-92paXx0W4k6ixUKEhA87sg==/lib/arm/libcocos2dcpp.so (Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit+256)
java_vm_ext.cc:542] native: #15 pc 00411a79 /system/lib/libart.so (art_quick_generic_jni_trampoline+40)
java_vm_ext.cc:542] native: #16 pc 0040d575 /system/lib/libart.so (art_quick_invoke_stub_internal+68)
java_vm_ext.cc:542] native: #17 pc 003e6c7b /system/lib/libart.so (art_quick_invoke_static_stub+222)
java_vm_ext.cc:542] native: #18 pc 000a1027 /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+154)
java_vm_ext.cc:542] native: #19 pc 001e5ae9 /system/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+236)
java_vm_ext.cc:542] native: #20 pc 001e05d7 /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+814)
java_vm_ext.cc:542] native: #21 pc 002093fd /system/lib/libart.so (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE0ELb0ELb0EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+96)
java_vm_ext.cc:542] native: #22 pc 0020643d /system/lib/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+51084)
java_vm_ext.cc:542] native: #23 pc 00412455 /system/lib/libart.so (ExecuteSwitchImplAsm+4)
java_vm_ext.cc:542] native: #24 pc 004e7114 /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/app.bundle.name-92paXx0W4k6ixUKEhA87sg==/base.apk (deleted) (org.cocos2dx.lib.Cocos2dxRenderer.onSurfaceCreated)
java_vm_ext.cc:542] native: #25 pc 001c4d17 /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2471763592+318)
java_vm_ext.cc:542] native: #26 pc 001c9439 /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+152)
java_vm_ext.cc:542] native: #27 pc 001e05bf /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+790)
java_vm_ext.cc:542] native: #28 pc 00208bab /system/lib/libart.so (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE4ELb0ELb0EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+1026)
java_vm_ext.cc:542] native: #29 pc 002033d9 /system/lib/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+38696)
java_vm_ext.cc:542] native: #30 pc 00412455 /system/lib/libart.so (ExecuteSwitchImplAsm+4)
java_vm_ext.cc:542] native: #31 pc 00ad354a /system/framework/boot-framework.vdex (android.opengl.GLSurfaceView$GLThread.guardedRun)
java_vm_ext.cc:542] native: #32 pc 001c4d17 /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2471763592+318)
java_vm_ext.cc:542] native: #33 pc 001c9439 /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+152)
java_vm_ext.cc:542] native: #34 pc 001e05bf /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+790)
java_vm_ext.cc:542] native: #35 pc 0020856b /system/lib/libart.so (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE1ELb0ELb0EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+174)
java_vm_ext.cc:542] native: #36 pc 00206079 /system/lib/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+50120)
java_vm_ext.cc:542] native: #37 pc 00412455 /system/lib/libart.so (ExecuteSwitchImplAsm+4)
java_vm_ext.cc:542] native: #38 pc 00ad3e38 /system/framework/boot-framework.vdex (android.opengl.GLSurfaceView$GLThread.run)
java_vm_ext.cc:542] native: #39 pc 001c4d17 /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2471763592+318)
java_vm_ext.cc:542] native: #40 pc 001c937f /system/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+82)
java_vm_ext.cc:542] native: #41 pc 003d52b9 /system/lib/libart.so (artQuickToInterpreterBridge+880)
java_vm_ext.cc:542] native: #42 pc 00411aff /system/lib/libart.so (art_quick_to_interpreter_bridge+30)
java_vm_ext.cc:542] native: #43 pc 0040d575 /system/lib/libart.so (art_quick_invoke_stub_internal+68)
java_vm_ext.cc:542] native: #44 pc 003e6b79 /system/lib/libart.so (art_quick_invoke_stub+224)
java_vm_ext.cc:542] native: #45 pc 000a1015 /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+136)
java_vm_ext.cc:542] native: #46 pc 00347ac5 /system/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+52)
java_vm_ext.cc:542] native: #47 pc 0034881d /system/lib/libart.so (art::InvokeVirtualOrInterfaceWithJValues(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue*)+320)
08-15 15:58:57.995 12791-12820/app.bundle.name A/app.bundle.name: java_vm_ext.cc:542] native: #48 pc 00369797 /system/lib/libart.so (art::Thread::CreateCallback(void*)+866)
java_vm_ext.cc:542] native: #49 pc 00063505 /system/lib/libc.so (__pthread_start(void*)+22)
java_vm_ext.cc:542] native: #50 pc 0001df29 /system/lib/libc.so (__start_thread+24)
java_vm_ext.cc:542] at org.cocos2dx.lib.Cocos2dxRenderer.nativeInit(Native method)
java_vm_ext.cc:542] at org.cocos2dx.lib.Cocos2dxRenderer.onSurfaceCreated(Cocos2dxRenderer.java:72)
java_vm_ext.cc:542] at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1539)
java_vm_ext.cc:542] at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1270)