【求助】Android端调用jsb闪退

Creator 版本:2.0.9

目标平台:Android

详细报错信息,包含调用堆栈:

Android端调用jsb代码:
`public class AppActivity extends Cocos2dxActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // Workaround in https://stackoverflow.com/questions/16283079/re-launch-of-activity-on-home-button-but-only-the-first-time/16447508
    if (!isTaskRoot()) {
        // Android launched another instance of the root activity into an existing task
        //  so just quietly finish and go away, dropping the user back into the activity
        //  at the top of the stack (ie: the last state of this task)
        // Don't need to finish it again since it's finished in super.onCreate .
        return;
    }
    // DO OTHER INITIALIZATION BELOW
    SDKWrapper.getInstance().init(this);

  // 加了这一行就闪退,游戏也进不去
    this.runOnGLThread(new Runnable() {
        @Override
        public void run() {
            Cocos2dxJavascriptJavaBridge.evalString("cc.log(\"-------------------Javascript Java bridge!\")");
        }
    });
}}`

Android日志:

`05-09 22:42:01.871 3386-3386/? W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --compiler-filter=interpret-only --instruction-set=x86 --instruction-set-features=smp,ssse3,-sse4.1,-sse4.2,-avx,-avx2 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --compiler-filter=speed --instruction-set-variant=x86 --instruction-set-features=default --dex-file=/data/app/com.babykylin.qpgames-1/split_lib_slice_9_apk.apk --oat-file=/data/dalvik-cache/x86/data@app@com.babykylin.qpgames-1@split_lib_slice_9_apk.apk@classes.dex) because non-0 exit status
05-09 22:42:01.874 3386-3386/? I/InstantRun: starting instant run server: is main process
05-09 22:42:01.889 3386-3386/? D/Cocos2dxActivity: Cocos2dxActivity onCreate: org.cocos2dx.javascript.AppActivity@8817b81, savedInstanceState: null
05-09 22:42:01.918 3386-3386/? D/JniHelper: JniHelper::setJavaVM(0xb3b020c0), pthread_self() = -1216693248
05-09 22:42:01.918 3386-3386/? D/main: cocos_jni_env_init
05-09 22:42:01.919 3386-3386/? D/Cocos2dxHelper: isSupportLowLatency:true
05-09 22:42:01.920 3386-3386/? D/Cocos2dxHelper: sampleRate: 44100, framesPerBuffer: 512
05-09 22:42:01.920 3386-3386/? D/JniImp: nativeSetAudioDeviceInfo: sampleRate: 44100, bufferSizeInFrames: 512
05-09 22:42:01.935 3386-3386/? W/System.err: org.json.JSONException: No value for serviceClassPath
05-09 22:42:01.935 3386-3386/? W/System.err: at org.json.JSONObject.get(JSONObject.java:389)
05-09 22:42:01.935 3386-3386/? W/System.err: at org.json.JSONObject.getJSONArray(JSONObject.java:584)
05-09 22:42:01.935 3386-3386/? W/System.err: at org.cocos2dx.javascript.SDKWrapper.loadSDKClass(SDKWrapper.java:70)
05-09 22:42:01.935 3386-3386/? W/System.err: at org.cocos2dx.javascript.SDKWrapper.setGLSurfaceView(SDKWrapper.java:102)
05-09 22:42:01.935 3386-3386/? W/System.err: at org.cocos2dx.javascript.AppActivity.onCreateView(AppActivity.java:66)
05-09 22:42:01.935 3386-3386/? W/System.err: at org.cocos2dx.lib.Cocos2dxActivity.addSurfaceView(Cocos2dxActivity.java:427)
05-09 22:42:01.935 3386-3386/? W/System.err: at org.cocos2dx.lib.Cocos2dxActivity.init(Cocos2dxActivity.java:259)
05-09 22:42:01.935 3386-3386/? W/System.err: at org.cocos2dx.lib.Cocos2dxActivity.onCreate(Cocos2dxActivity.java:324)
05-09 22:42:01.935 3386-3386/? W/System.err: at org.cocos2dx.javascript.AppActivity.onCreate(AppActivity.java:40)
05-09 22:42:01.935 3386-3386/? W/System.err: at android.app.Activity.performCreate(Activity.java:6278)
05-09 22:42:01.935 3386-3386/? W/System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
05-09 22:42:01.935 3386-3386/? W/System.err: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2396)
05-09 22:42:01.935 3386-3386/? W/System.err: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2503)
05-09 22:42:01.935 3386-3386/? W/System.err: at android.app.ActivityThread.-wrap11(ActivityThread.java)
05-09 22:42:01.935 3386-3386/? W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1353)
05-09 22:42:01.935 3386-3386/? W/System.err: at android.os.Handler.dispatchMessage(Handler.java:102)
05-09 22:42:01.935 3386-3386/? W/System.err: at android.os.Looper.loop(Looper.java:148)
05-09 22:42:01.935 3386-3386/? W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5529)
05-09 22:42:01.935 3386-3386/? W/System.err: at java.lang.reflect.Method.invoke(Native Method)
05-09 22:42:01.935 3386-3386/? W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:745)
05-09 22:42:01.935 3386-3386/? W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:635)
05-09 22:42:01.935 3386-3386/? D/Cocos2dxActivity: model=MuMu
05-09 22:42:01.935 3386-3386/? D/Cocos2dxActivity: product=cancro
05-09 22:42:01.935 3386-3386/? D/Cocos2dxActivity: isEmulator=false
05-09 22:42:01.941 851-1031/com.netease.nemu_vapi_android.nemu D/com.netease.nemu_android_watchdog_lib.core.Watchdog: upload server response: {“errcode”: 100, “errmsg”: “ok”}
05-09 22:42:01.941 851-1031/com.netease.nemu_vapi_android.nemu D/com.netease.nemu_android_watchdog_lib.core.Watchdog: upload result: true
05-09 22:42:01.956 3386-3386/? D/Cocos2dxActivity: onResume()
05-09 22:42:01.958 644-655/system_process I/MediaFocusControl: AudioFocus requestAudioFocus() from android.media.AudioManager@7366aeorg.cocos2dx.lib.Cocos2dxAudioFocusManager$1@2ffec4f req=1flags=0x0

--------- beginning of crash

05-09 22:42:01.958 3386-3425/? A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0xf94 in tid 3425 (GLThread 138)
05-09 22:42:01.958 3386-3386/? D/AudioFocusManager: requestAudioFocus succeed
05-09 22:42:01.961 3386-3426/? D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
05-09 22:42:01.995 851-3427/com.netease.nemu_vapi_android.nemu D/com.netease.nemu_vapi_android.thread.HttpServer: http server response data: {“errcode”:0,“message”:“OK”,“return”:{“process_name”:“com.babykylin.qpgames”}}
05-09 22:42:02.056 3386-3426/? D/libEGL: loaded /system/lib/egl/libEGL_emulation.so
05-09 22:42:02.063 264-264/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
05-09 22:42:02.063 264-264/? A/DEBUG: Build fingerprint: ‘OnePlus/OnePlus2/OnePlus2:6.0.1/MMB29M/1447841200:user/release-keys’
05-09 22:42:02.063 264-264/? A/DEBUG: Revision: ‘0’
05-09 22:42:02.063 264-264/? A/DEBUG: ABI: ‘x86’
05-09 22:42:02.063 264-264/? A/DEBUG: pid: 3386, tid: 3425, name: GLThread 138 >>> com.babykylin.qpgames <<<
05-09 22:42:02.063 264-264/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xf94
05-09 22:42:02.066 264-264/? A/DEBUG: eax a0e96fa8 ebx a285e238 ecx a0e96fa8 edx a0e96fa8
05-09 22:42:02.066 264-264/? A/DEBUG: esi b3b4d440 edi 00000000
05-09 22:42:02.066 264-264/? A/DEBUG: xcs 00000073 xds 0000007b xes 0000007b xfs 0000003b xss 0000007b
05-09 22:42:02.066 264-264/? A/DEBUG: eip a1bdecc7 ebp a0e96ed8 esp a0e96ec0 flags 00010246
05-09 22:42:02.069 264-264/? A/DEBUG: backtrace:
05-09 22:42:02.069 264-264/? A/DEBUG: #00 pc 00d46cc7 /data/app/com.babykylin.qpgames-1/lib/x86/libcocos2djs.so
05-09 22:42:02.069 264-264/? A/DEBUG: #01 pc 00218d32 /data/app/com.babykylin.qpgames-1/lib/x86/libcocos2djs.so (_ZN2se15AutoHandleScopeC2Ev+66)
05-09 22:42:02.069 264-264/? A/DEBUG: #02 pc 003dbf54 /data/app/com.babykylin.qpgames-1/lib/x86/libcocos2djs.so (Java_org_cocos2dx_lib_Cocos2dxJavascriptJavaBridge_evalString+84)
05-09 22:42:02.069 264-264/? A/DEBUG: #03 pc 0013bb87 /system/lib/libart.so (art_quick_generic_jni_trampoline+71)
05-09 22:42:02.069 264-264/? A/DEBUG: #04 pc 00135f12 /system/lib/libart.so (art_quick_invoke_static_stub+418)
05-09 22:42:02.069 264-264/? A/DEBUG: #05 pc 00140b7e /system/lib/libart.so (_ZN3art9ArtMethod6InvokeEPNS_6ThreadEPjjPNS_6JValueEPKc+350)
05-09 22:42:02.069 264-264/? A/DEBUG: #06 pc 005caccc /system/lib/libart.so (artInterpreterToCompiledCodeBridge+188)
05-09 22:42:02.069 264-264/? A/DEBUG: #07 pc 0031f3cd /system/lib/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+445)
05-09 22:42:02.069 264-264/? A/DEBUG: #08 pc 00324a6a /system/lib/libart.so (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE0ELb0ELb0EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+158)
05-09 22:42:02.069 264-264/? A/DEBUG: #09 pc 000faf4d /system/lib/libart.so (ZN3art11interpreter15ExecuteGotoImplILb0ELb0EEENS_6JValueEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameES2+21709)
05-09 22:42:02.069 264-264/? A/DEBUG: #10 pc 002f7460 /system/lib/libart.so (_ZN3art11interpreter30EnterInterpreterFromEntryPointEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameE+128)
05-09 22:42:02.069 264-264/? A/DEBUG: #11 pc 0064eca3 /system/lib/libart.so (artQuickToInterpreterBridge+515)
05-09 22:42:02.069 264-264/? A/DEBUG: #12 pc 0013bc4d /system/lib/libart.so (art_quick_to_interpreter_bridge+77)
05-09 22:42:02.069 264-264/? A/DEBUG: #13 pc 0304f97f /system/framework/x86/boot.oat (offset 0x1f21000)
05-09 22:42:02.069 264-264/? A/DEBUG: #14 pc 000fa8b7
05-09 22:42:02.119 264-264/? A/DEBUG: Tombstone written to: /data/tombstones/tombstone_07
05-09 22:42:02.119 264-264/? E/DEBUG: AM write failed: Broken pipe
05-09 22:42:02.119 644-661/system_process I/BootReceiver: Copying /data/tombstones/tombstone_07 to DropBox (SYSTEM_TOMBSTONE)
05-09 22:42:02.119 644-3434/system_process W/ActivityManager: Force finishing activity com.babykylin.qpgames/org.cocos2dx.javascript.AppActivity
05-09 22:42:02.123 644-659/system_process D/ActivityManager: Nemu don’t show crash dialog of ProcessRecord{aa173bf 3386:com.babykylin.qpgames/u0a43}
05-09 22:42:02.126 644-678/system_process W/InputDispatcher: channel ‘ffee119 com.babykylin.qpgames/org.cocos2dx.javascript.AppActivity (server)’ ~ Consumer closed input channel or an error occurred. events=0x9
05-09 22:42:02.126 644-678/system_process E/InputDispatcher: channel ‘ffee119 com.babykylin.qpgames/org.cocos2dx.javascript.AppActivity (server)’ ~ Channel is unrecoverably broken and will be disposed!
05-09 22:42:02.128 851-851/com.netease.nemu_vapi_android.nemu D/com.netease.nemu_vapi_android.service.AppService: dropbox tag: data_app_native_crash
05-09 22:42:02.128 851-851/com.netease.nemu_vapi_android.nemu D/com.netease.nemu_vapi_android.service.AppService: dropbox time: 1557412922126
05-09 22:42:02.128 851-2749/com.netease.nemu_vapi_android.nemu D/com.netease.nemu_vapi_android.service.AppService: dropbox file: /data/system/dropbox/data_app_native_crash@1557412922126.txt is to be tracked
05-09 22:42:02.129 644-655/system_process D/GraphicsStats: Buffer count: 2
`

重现方式:

之前哪个版本是正常的 :

手机型号 :mumu模拟器6.0

手机浏览器 :

编辑器操作系统 :win10

编辑器之前是否有其它报错 :无

出现概率:

额外线索:

@397136899 引擎组大佬帮忙看看咋回事

可能是这回 opengl 还没有准备好, 你加个延时试试

感谢,加了延时 就可以了,坑好多啊

这不是坑吧,onCreate的时候什么都没有,你让cocos拿什么给你执行js?至少得等到applicationDidFinishLaunching执行完成之后才能调用js

opengl是什么呀