关于cocos2dx 3.0升级崩溃报错(unable to load native library) 和(Fatal signal 11 (SIGSEGV) at 0x00000000)

最近一直在Windows平台开发cocos-2dx游戏,期间做了一次引擎升级,升级到了3.0正式版本。Windows平台上表现很正常,没有出现什么问题。

上周五准备发布一个安卓包,编译很轻松的就过了,没有花费多少时间,但是安装到手机后,发现运行就崩溃了。没办法只好用模拟机调试,再次吐槽Android的模拟器,真的太他妈慢了,不到万不得已我真的不想再去用它,google真的应该好好整一下了。

好不容易运行起来了,看到崩溃的时候logcat的报错是“unable to load native library XXX”,莫名其妙的报错,看样子好像是程序安装的问题,但是我查看了文件系统,有这个so文件。找了好久都没发现问题所在,最后在一个国外的网站看到了答案,主要是cocos-2dx库的java部分代码改变了,程序创建时候的Activity的继承类变了,从NativeActivity编程了Cocos2dxActivity了。大家不知道如何改就直接把cocos2dx下示例下的Activity拖过来即可。

改过来之后还是继续崩溃,不过报错信息变了,“Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1)”,在网上查了很多,到处都是引用的下面这篇文章,但是这篇文章根本不能解决我的问题。

cocos2dx fatal signal11(SIGSEGV) at 0x00000000(code=1)的解决实践

我加了很多打印,都没打印出来,估计如网上所有,可能是JNI的问题,不过有了上面的经验,突然想到是不是jni入口也改变了呢,对比了我的版本的main.cpp文件和示例版本的main.cpp,发现果然是入口文件版本的修改导致,把示例的main.cpp里面的代码复制过来,再编译,顺利进入游戏!

发现网上搜索这些报错的很多,所以记录下来,为其他可能出现这些问题的同学提供一些帮助吧。

转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog)

关于cocos2dx 3.0升级崩溃报错(unable to load native library) 和(Fatal signal 11 (SIGSEGV) at 0x00000000)

时间: 2024-10-26 14:13:22

关于cocos2dx 3.0升级崩溃报错(unable to load native library) 和(Fatal signal 11 (SIGSEGV) at 0x00000000)的相关文章

***XAMPP:报错 Unable to load dynamic library的解决方法

A PHP Error was encountered Severity: Core Warning Message: PHP Startup: Unable to load dynamic library '/opt/lampp/lib/php/extensions/no-debug-non-zts-20131226/php_pdo_mysql.dll' - /opt/lampp/lib/php/extensions/no-debug-non-zts-20131226/php_pdo_mysq

Spark记录-spark报错Unable to load native-hadoop library for your platform

解决方案一: #cp $HADOOP_HOME/lib/native/libhadoop.so  $JAVA_HOME/jre/lib/amd64 #源码编译snappy---./configure  make & make install #cp libsnappy.so $JAVA_HOME/jre/lib/amd64 主要是jre目录下缺少了libhadoop.so和libsnappy.so两个文件.具体是,spark-shell依赖的是scala,scala依赖的是JAVA_HOME下的

struts 报错 :Unable to load configuration. - action 的解决

初学Struts, 在idea里写Struts项目, 其实还是挺好操作的, 从官网下载min 的jar包, 然后在idea 里 新建Struts项目的时候 就可以选择用本地包来构建, ctrl shift alt s 配置项目的libraries, 等等在此不表 但是在启动tomcat的时候就遇到了很多莫名其妙的报错, 比如说报错, 找不到class, 感觉有点奇怪啊, 明明已经导入了jar 包了, 还是提示找不到包, 没办法, 只好包jar 包复制进lib 目录, 然后右键add as lib

[cocos2d-x][apk打包][Fatal signal 11][andriod]Eclipse编译Fatal signal 11报错-都是字符赋值惹的祸

流程重现: 使用coco2d-x制作了一个2048,在xcode模拟器运行以及在pad上真机调试都是没有问题的,但是在使用eclipse调试打包android能够运行,但是进入游戏之后会在随机的地方闪退,debug模式报错为: 10-20 11:48:36.413: A/libc(17408): Fatal signal 11 (SIGSEGV) at 0x68d7b0b8 (code=2), thread 17426 (Thread-7958) 在网上查到关于这个问题的n中说法,包括andro

native 链接 mysql 8.0以上版本 报错2059

MySQL版本是8.0.4  由于新版本的MySQL新特性导致的. mysql> select Host,User,plugin from mysql.user; +-----------+------------------+-----------------------+ | Host | User | plugin | +-----------+------------------+-----------------------+ | localhost | mysql.infoschem

SQL Developer 4.0 启动报错“unable to create an instance of the java virtual machine located at path”

安装了Oracle之后,第一件事情就是想想怎么去连接,进而操作.SQL Developer是官方提供的强大工具,个人看来也是第一选择. 目前官网提供的最新版是4.0.1.14.48,下载下来之后,就跃跃欲试了.将下载下来的包解压,直接运行sqldeveloper.exe这个文件,选择了本地安装的JDK路径,之后却不幸的报错了,提示"unable to create an instance of the java virtual machine located at path",具体界面

在VMware里克隆出来的redhat linux 6.0,重启网卡报错

在VMware里克隆出来的redhat linux 6.0,重启网卡报错,无法ping通eth0的IP地址. 故障现象: service network restartShutting down loopback insterface:                                                                                                     [  OK  ]Bringing up loopback in

cocos2d-x android 添加新场景报错: undefined reference to `vtable for XXX'

转载自 居家懒人 http://www.cnblogs.com/JD85/archive/2012/09/17/2688128.html 加入写了新场景SecondScene,结果在cpp文件里类名地方报错说undefined reference to `vtable for SecondScene', 很简单,貌似是每个新场景都要先注册一下,找到jni-->Classes目录下的Android.mk文件,在 LOCAL_SRC_FILES := AppDelegate.cpp HelloWor

解决idea启动项目报错:Unable to open debugger port(127.0.0.1:60157):java.net.SocketException"socket closed

1.问题描述: 工作当中免不了要重启服务,debug模式下偶尔启动项目,却启动失败报错: Unable to open debugger port (127.0.0.1:60157): java.net.SocketException "socket closed" 2.原因分析 出现这个报错的原因是因为端口被占用导致的 3.解决方法 解决方法主要两种:修改端口配置(推荐).关闭占用端口的进程(不推荐). 方式一:修改端口配置(推荐)   被占用的端口可能是本地端口,也可能是JMX端口