之前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线程包装后就没问题了