-
Creator 版本:2.0.1
-
目标平台: Android
-
详细报错信息,包含调用堆栈:
-
重现方式:在AppActivity类中,定义:
public void log(final String s) {
runOnGLThread(new Runnable() {
public void run() {
logOnGLThread(s);
}
});
}private void logOnGLThread(String s) {
// final String jsCallStr = String.format("testFun();"); Cocos2dxJavascriptJavaBridge.evalString("var hello = 1;"); //Cocos2dxJavascriptJavaBridge.evalString("testFun();");}
单步调试,发现在Java_org_cocos2dx_lib_Cocos2dxJavascriptJavaBridge_evalString函数的第一行执行se::AutoHandleScope hs时就出现错误,提示SIGSEGV (signal SIGSEGV: invalid address (fault address: 0x1930))错误。 -
之前哪个版本是正常的 :无
-
手机型号 :华为荣耀8X
-
手机浏览器 :手机自带
-
编辑器操作系统 :
-
编辑器之前是否有其它报错 :无
我用了一个简单的工程测试,也是同样的问题。不知道是我版本配置问题还是BUG,请大家帮我看看。。。
要在cocos线程回调罗兄弟
public void log(final String s) {
runOnGLThread(new Runnable() {
@Override
public void run() {
logOnGLThread(s);
}
});
}
runOnGLThread不算是cocos线程吗?我在网上找很多示例都是这样写的。
兄弟,能否给个示例?
是不是没有v8引擎库,高手们,支个招。。。
已解决
我也出现同样的BUG,请问怎样解决
1赞
请问是怎么解决的?
回复跟我一样遇到这种问题不会解决的人
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// 一定要在 GL 线程中执行
app.runOnGLThread(new Runnable() {
@Override
public void run() {
Cocos2dxJavascriptJavaBridge.evalString("cc.log(\"Javascript Java bridge!\")");
}
});
}
});
要在runOnGLThread线程执行
