cocos2dx jni闪退的BUG

来源:互联网 发布:防范电信网络诈骗知识 编辑:程序博客网 时间:2024/05/29 02:23

环境:cocos2dx 2.3、ADT


03-10 17:16:40.513: E/libEGL(22905): call to OpenGL ES API with no current context (logged once per thread)

03-10 17:16:40.513: A/libc(22905): Fatal signal 11 (SIGSEGV), code 2, fault addr 0xe2b36858 in tid 22905 (gc.mygamenormal)


在java回调C++代码的时候,程序闪退并且报错,错误如上。

报错代码如下

if (LiBaoLayer::showLiBao && LiBaoLayer::isFirstGet){SceneMgr::getInstance()->getCurrentScene()->addChild(LiBaoLayer::create());}

原因是LiBaoLayer这个类没有在Java调用C++前使用过,所以无法使用它里面的方法和变量。

解决办法,在Java调用这段代码之前,进行一次LiBaoLayer类的实例化就可以解决这个闪退的BUG。至于原理,还需要继续研究探讨...

0 0