安卓包插件化启动崩溃,

  • Creator 版本:
    1.9.3
  • 目标平台:

安卓机顶盒

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

09-13 09:47:00.110 27605-27605/? E/MyCrashHandler: uncaughtExceptionjava.lang.RuntimeException: Unable to destroy activity {com.libyx.jfcz.tv/org.cocos2dx.javascript.AppActivity

}: java.lang.NullPointerException
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3499)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3517)
at android.app.ActivityThread.access$1200(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1309)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at org.cocos2dx.lib.Cocos2dxHelper.runOnGLThread(Cocos2dxHelper.java:103)
at org.cocos2dx.lib.Cocos2dxAudioFocusManager.unregisterAudioFocusListener(Cocos2dxAudioFocusManager.java:121)
at org.cocos2dx.lib.Cocos2dxActivity.onDestroy(Cocos2dxActivity.java:355)
at org.cocos2dx.javascript.AppActivity.onDestroy(AppActivity.java:82)
at android.app.Activity.performDestroy(Activity.java:5302)
at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1117)
at com.morgoo.droidplugin.hook.handle.PluginInstrumentation.callActivityOnDestroy(PluginInstrumentation.java:235)
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3486)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3517)
at android.app.ActivityThread.access$1200(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1309)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)

找到崩溃原因了,

@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);
}

启动时候 这段代码导致的. 这段代码是干嘛用的.

正常安装没问题,插件启动会闪退. 就是这个判断造成的.

这两个文件会有这段代码…

目前**

注释掉了. 不闪退了

**. 不知道有何影响.