1.8 Cocos2dxJavascriptJavaBridge.evalString 崩溃

之前1.7都没问题,升级1.8后, Cocos2dxJavascriptJavaBridge.evalString 崩溃。有遇到的老铁么?

1赞

老铁,有崩溃日志吗?

补充下,微信登录成功回调时,通过evalString调用js,应该还没到JS层面。
日志如下:
01-17 09:09:18.885 9014-9014/com.. A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0xe24 in tid 9014 (com.matri.tfpk)

 [ 01-17 09:09:18.886   427:  427 E/         ]
ptrace attach failed: Operation not permitted

01-17 09:09:18.888 9014-9472/com.. E/CocosAnalytics: ==> Please init sdk first!
01-17 09:09:18.889 9014-9472/com.. E/CocosAnalytics: ==> checkAndUploadLog, database is not open!

回到1.7.2还是有问题,郁闷

放到 OpenGL 线程试一下呢?

mActivity.runOnGLThread(new Runnable() {
        @Override
        public void run() {
            Cocos2dxJavascriptJavaBridge.evalString("xxx");
        }
});
2赞

对了。多谢
只是没搞懂之前一直没用GLThread去包,一直对的,现在却不对了

如果你在 js 这边的回调中只是打印个日志是不会崩溃的, 但是你若是改变显示的内容就会崩溃, 比如吧某个节点隐藏掉之类的.

这个解决方案貌似不对,”微信登录成功回调时,通过evalString调用js“”,这个时候当前的 Activity 不是COcos2dxActivity 而是 WXEntryActivity,那要实现 runOnGLThread等的一些接口,复杂很多,有简单的方案么?

之前的 Cocos2dxActivity 又没有释放, 你把参数传递过去, 或者直接用那个 Cocos2dxActivity 的对象调用 runOnGLThread.

我是打日志都崩溃,但用GL线程包装后就没问题了