Is Sdkbox's Onesignal supports FCM?

Hi,

We are getting crash when oreo-8.1 device getting push-notification. Working fine for below 8.
We are using latest sdkbox.
Below is log we are getting while crash

GCM : broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE pkg=com.game.name (has extras) }

Project is configured via FCM in firebase not GCM.
is SDKBOX using latest version of Onesignal?

Regards,
Smit

2.1.16 for iOS and 3.5.5 for Android, not the latest SDK of Onesignal.

So is this crash happening because of old sdk?
will you update to latest version?
I can help with testing.

Any update on this?
O/w we cannot use this for projects as its totally crashing in Oreo.

in progress

1 Like

plz try https://www.dropbox.com/s/9irwnxnuo7t6ool/sdkbox-onesignal_v2.4.0.4.tar.gz?dl=0

  • ios: 2.8.6
  • android: 3.10.1

Its still crashing, below is log. (Crash happens when push notification receives)

08-09 13:07:48.889  1932  2413 W ActivityManager: Background start not allowed: service Intent { cmp=com.game.name/com.onesignal.GcmIntentService (has extras) } to com.game.name/com.onesignal.GcmIntentService from pid=13541 uid=10240 pkg=com.game.name                                                 08-09 13:07:48.890 13541 13541 D AndroidRuntime: Shutting down VM
    --------- beginning of crash                                                                                            08-09 13:07:48.891 13541 13541 E AndroidRuntime: FATAL EXCEPTION: main
    08-09 13:07:48.891 13541 13541 E AndroidRuntime: Process: com.game.name, PID: 13541
    08-09 13:07:48.891 13541 13541 E AndroidRuntime: java.lang.RuntimeException: Unable to start receiver com.onesignal.GcmBroadcastReceiver: java.lang.IllegalStateException: Not allowed to start service Intent { cmp=com.game.name/com.onesignal.GcmIntentService (has extras) }: app is in background uid UidRecord{6024430 u0a240 RCVR idle change:idle|uncached procs:1 seq(0,0,0)}
    08-09 13:07:48.891 13541 13541 E AndroidRuntime:        at android.app.ActivityThread.handleReceiver(ActivityThread.java:3197)
    08-09 13:07:48.891 13541 13541 E AndroidRuntime:        at android.app.ActivityThread.-wrap17(Unknown Source:0)         08-09 13:07:48.891 13541 13541 E AndroidRuntime:        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1675)
    08-09 13:07:48.891 13541 13541 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:106)         08-09 13:07:48.891 13541 13541 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:164)                      08-09 13:07:48.891 13541 13541 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:6518)
    08-09 13:07:48.891 13541 13541 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)               08-09 13:07:48.891 13541 13541 E AndroidRuntime:        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
    08-09 13:07:48.891 13541 13541 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) 08-09 13:07:48.891 13541 13541 E AndroidRuntime: Caused by: java.lang.IllegalStateException: Not allowed to start service Intent { cmp=com.game.name/com.onesignal.GcmIntentService (has extras) }: app is in background uid UidRecord{6024430 u0a240 RCVR idle change:idle|uncached procs:1 seq(0,0,0)}
    08-09 13:07:48.891 13541 13541 E AndroidRuntime:        at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1521)
    08-09 13:07:48.891 13541 13541 E AndroidRuntime:        at android.app.ContextImpl.startService(ContextImpl.java:1477)  08-09 13:07:48.891 13541 13541 E AndroidRuntime:        at android.content.ContextWrapper.startService(ContextWrapper.java:650)                                                                                                                 08-09 13:07:48.891 13541 13541 E AndroidRuntime:        at android.content.ContextWrapper.startService(ContextWrapper.java:650)                                                                                                                 08-09 13:07:48.891 13541 13541 E AndroidRuntime:        at android.support.v4.content.WakefulBroadcastReceiver.startWakefulService(WakefulBroadcastReceiver.java:89)
    08-09 13:07:48.891 13541 13541 E AndroidRuntime:        at com.onesignal.GcmBroadcastReceiver.processOrderBroadcast(GcmBroadcastReceiver.java:105)
    08-09 13:07:48.891 13541 13541 E AndroidRuntime:        at com.onesignal.GcmBroadcastReceiver.onReceive(GcmBroadcastReceiver.java:61)
    08-09 13:07:48.891 13541 13541 E AndroidRuntime:        at android.app.ActivityThread.handleReceiver(ActivityThread.java:3190)
    08-09 13:07:48.891 13541 13541 E AndroidRuntime:        ... 8 more
    08-09 13:07:48.892  2726  2726 W GCM     : broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE pkg=com.game.name (has extras) }
    08-09 13:07:48.896  1932  2851 D PowerManagerService: releaseWakeLockInternal: lock=207619477 [GOOGLE_C2DM], flags=0x0

en, plz update the AndroidManifest.xml

        <!-- ##START## OneSignal -->
        <meta-data android:name="com.google.android.gms.version"
           android:value="@integer/google_play_services_version" />
       
        
         <receiver android:name="com.onesignal.GcmBroadcastReceiver"
                   android:permission="com.google.android.c2dm.permission.SEND" >
            <!-- High priority so OneSignal payloads can be filtered from other GCM receivers if filterOtherGCMReceivers is enabled. -->
            <intent-filter android:priority="999" >
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                <category android:name="com.onesignal.example" />
            </intent-filter>
        </receiver>
        
        <receiver android:name="com.onesignal.NotificationOpenedReceiver" />

        <service android:name="com.onesignal.GcmIntentService" />
        <service android:name="com.onesignal.GcmIntentJobService"
                 android:permission="android.permission.BIND_JOB_SERVICE" />

        <service android:name="com.onesignal.RestoreJobService"
            android:permission="android.permission.BIND_JOB_SERVICE" />

        <service android:name="com.onesignal.RestoreKickoffJobService"
            android:permission="android.permission.BIND_JOB_SERVICE" />

        <service android:name="com.onesignal.SyncService" android:stopWithTask="true" />
        <service android:name="com.onesignal.SyncJobService"
            android:permission="android.permission.BIND_JOB_SERVICE" />

        <activity android:name="com.onesignal.PermissionsActivity"
                  android:theme="@android:style/Theme.Translucent.NoTitleBar" />

        <service android:name="com.onesignal.NotificationRestoreService" />

        <receiver android:name="com.onesignal.BootUpReceiver">
            <intent-filter>
                <action android:name="android.intent.action.ACTION_BOOT_COMPLETED" />
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.QUICKBOOT_POWERON" />
            </intent-filter>
        </receiver>
        <receiver android:name="com.onesignal.UpgradeReceiver" >
            <intent-filter>
                <action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
            </intent-filter>
        </receiver>
     	
     	<!-- ##END## OneSignal -->

replace with your package id.

No crash this time but not received push notification.
Update:
Getting this log:

08-09 15:45:42.559 24373 24451 E AndroidRuntime: FATAL EXCEPTION: FocusHandlerThread
08-09 15:45:42.559 24373 24451 E AndroidRuntime: Process: com.game.name, PID: 24373
08-09 15:45:42.559 24373 24451 E AndroidRuntime: java.lang.IllegalArgumentException: Error: requested job be persisted without holding RECEIVE_BOOT_COMPLETED permission.
08-09 15:45:42.559 24373 24451 E AndroidRuntime:        at android.os.Parcel.readException(Parcel.java:2008)
08-09 15:45:42.559 24373 24451 E AndroidRuntime:        at android.os.Parcel.readException(Parcel.java:1950)
08-09 15:45:42.559 24373 24451 E AndroidRuntime:        at android.app.job.IJobScheduler$Stub$Proxy.schedule(IJobScheduler.java:180)
08-09 15:45:42.559 24373 24451 E AndroidRuntime:        at android.app.JobSchedulerImpl.schedule(JobSchedulerImpl.java:44)
08-09 15:45:42.559 24373 24451 E AndroidRuntime:        at com.onesignal.OneSignalSyncServiceUtils.scheduleSyncServiceAsJob(OneSignalSyncServiceUtils.java:137)
08-09 15:45:42.559 24373 24451 E AndroidRuntime:        at com.onesignal.OneSignalSyncServiceUtils.scheduleSyncTask(OneSignalSyncServiceUtils.java:113)
08-09 15:45:42.559 24373 24451 E AndroidRuntime:        at com.onesignal.OneSignalSyncServiceUtils.scheduleSyncTask(OneSignalSyncServiceUtils.java:60)
08-09 15:45:42.559 24373 24451 E AndroidRuntime:        at com.onesignal.OneSignal.onAppLostFocus(OneSignal.java:1089)
08-09 15:45:42.559 24373 24451 E AndroidRuntime:        at com.onesignal.ActivityLifecycleHandler$AppFocusRunnable.run(ActivityLifecycleHandler.java:171)
08-09 15:45:42.559 24373 24451 E AndroidRuntime:        at android.os.Handler.handleCallback(Handler.java:790)
08-09 15:45:42.559 24373 24451 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:99)
08-09 15:45:42.559 24373 24451 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:164)
08-09 15:45:42.559 24373 24451 E AndroidRuntime:        at android.os.HandlerThread.run(HandlerThread.java:65)
08-09 15:45:42.563   690  6569 W qc_adm  : ns 3533388 > expected_ns 3000000
08-09 15:45:42.567  1932  1967 I ActivityManager: Showing crash dialog for package com.game.name u0

add permission to your AndroidManifest.xml

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

Update:
Working now. In same project had so many conflict.
Tried with fresh project, working fine.
But IAP updated to 2.4.0.3 from 2.4.0.2 and we are having issues with it, will create new thread.
Thanks.

@yinjimmy will this fix applied into next release? when?
Thanks.

Planned for release on 2018/09/05.
Thanks,

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)

Any chance to check this? @yinjimmy

do you use Android Studio ?

Yes, my problem is solved.

could u plz show me your build.gradle file.

Here is it. I am using in 3.16 c++
Let me know if you need any help.

import org.apache.tools.ant.taskdefs.condition.Os

apply plugin: 'com.android.application'

android {
    compileSdkVersion PROP_COMPILE_SDK_VERSION.toInteger()
    buildToolsVersion "26.0.2"

    defaultConfig {
        applicationId "com.game.name"
        minSdkVersion PROP_MIN_SDK_VERSION
        targetSdkVersion PROP_TARGET_SDK_VERSION
        versionCode 1
        versionName "1.0"
        multiDexEnabled true

        externalNativeBuild {
            ndkBuild {
                if (!project.hasProperty("PROP_NDK_MODE") || PROP_NDK_MODE.compareTo('none') != 0) {
                    // skip the NDK Build step if PROP_NDK_MODE is none
                    targets 'MyGame'
                    arguments 'NDK_TOOLCHAIN_VERSION=4.9'
                    arguments 'APP_PLATFORM=android-'+PROP_APP_PLATFORM
                    
                    def module_paths = [project.file("../../cocos2d").absolutePath,
                                        project.file("../../cocos2d/cocos").absolutePath,
                                        project.file("../../cocos2d/external").absolutePath]
                    if (Os.isFamily(Os.FAMILY_WINDOWS)) {
                        // should use '/'
                        module_paths = module_paths.collect {it.replaceAll('\\\\', '/')}
                        arguments 'NDK_MODULE_PATH=' + module_paths.join(";")
                    }
                    else {
                        arguments 'NDK_MODULE_PATH=' + module_paths.join(':')
                    }
                    
                    arguments '-j' + Runtime.runtime.availableProcessors()
                    abiFilters.addAll(PROP_APP_ABI.split(':').collect{it as String})
                }
            }
        }
    }

    dexOptions {
        javaMaxHeapSize "4g"
    }

    sourceSets.main {
        java.srcDir "src"
        res.srcDir "res"
        manifest.srcFile "AndroidManifest.xml"
        assets.srcDir "../../Resources"
    }

    lintOptions {
        checkReleaseBuilds false // Add this
        abortOnError false
    }

    externalNativeBuild {
        ndkBuild {
            if (!project.hasProperty("PROP_NDK_MODE") || PROP_NDK_MODE.compareTo('none') != 0) {
                // skip the NDK Build step if PROP_NDK_MODE is none
                path "jni/Android.mk"
            }
        }
    }

    signingConfigs {

       release {
            if (project.hasProperty("RELEASE_STORE_FILE")) {
                storeFile file(RELEASE_STORE_FILE)
                storePassword RELEASE_STORE_PASSWORD
                keyAlias RELEASE_KEY_ALIAS
                keyPassword RELEASE_KEY_PASSWORD
            }
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            if (project.hasProperty("RELEASE_STORE_FILE")) {
                signingConfig signingConfigs.release
            }

            externalNativeBuild {
                ndkBuild {
                    arguments 'NDK_DEBUG=0'
                }
            }
        }

        debug {
            externalNativeBuild {
                ndkBuild {
                    arguments 'NDK_DEBUG=1'
                }
            }
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(':libcocos2dx')
    compile 'com.android.support:multidex:1.0.1'
}
dependencies { compile 'com.facebook.android:facebook-android-sdk:[4,5)' }