博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cocos2dx3.2升级Android5的坑
阅读量:6508 次
发布时间:2019-06-24

本文共 1376 字,大约阅读时间需要 4 分钟。

虽然已经转到服务端,但是对客户端的事情,偶尔还看看。公司的游戏用的是cocos2dx 3.2的版本,

然而在Android 5 上却无法运行。

 

先是没有触摸事件。

在stackoverflow上看到,原因是没有加载编译生成的so文件。可是看了一下AndroidManifest.xml已经加载了。

于是对比了一下高版本的2dx,发现Application.mk文件上的APP_STL使用的是gnustl_static

另外ndk版本修改为4.9

还得修改build_native.py的select_toolchain_version函数

def select_toolchain_version():    '''Because ndk-r8e uses gcc4.6 as default. gcc4.6 doesn't support c++11. So we should select gcc4.7 when    using ndk-r8e. But gcc4.7 is removed in ndk-r9, so we should determine whether gcc4.7 exist.    Conclution:    ndk-r8e  -> use gcc4.7    ndk-r9   -> use gcc4.8    '''    ndk_root = check_environment_variables()    if os.path.isdir(os.path.join(ndk_root,"toolchains/arm-linux-androideabi-4.9")):        os.environ['NDK_TOOLCHAIN_VERSION'] = '4.9'        print "The Selected NDK toolchain version was 4.9 !"    elif os.path.isdir(os.path.join(ndk_root,"toolchains/arm-linux-androideabi-4.8")):        os.environ['NDK_TOOLCHAIN_VERSION'] = '4.8'        print "The Selected NDK toolchain version was 4.8 !"    elif os.path.isdir(os.path.join(ndk_root,"toolchains/arm-linux-androideabi-4.7")):        os.environ['NDK_TOOLCHAIN_VERSION'] = '4.7'        print "The Selected NDK toolchain version was 4.7 !"    else:        print "Couldn't find the gcc toolchain."        exit(1)

之后一切好使,过了一段时候后,发现ios正常,而Android却莫名其妙崩溃。

经过不断的排查,发现居然是stl的排序函数引起的,compare函数的值必须返回大于,不能是大于等于。

 

转载地址:http://tnwfo.baihongyu.com/

你可能感兴趣的文章
windows 自动化目录大纲(各企业架构不一样,按需选择)
查看>>
我的友情链接
查看>>
【Visual C++】游戏开发笔记十三 游戏输入消息处理(二) 鼠标消息处理
查看>>
我的友情链接
查看>>
Java 使用 Redis
查看>>
JPA常用注解
查看>>
Java基础学习总结(1)——equals方法
查看>>
Maven学习总结(6)——Maven与Eclipse整合
查看>>
HTML5:理解head
查看>>
oracle
查看>>
java SpringUtil获取bean
查看>>
Centos6.4最小化安装系统初始化脚本
查看>>
赛门铁克开启“容灾即服务”时代
查看>>
复杂度归纳--小结
查看>>
PHP学习笔记 第八讲 Mysql.简介和创建新的数据库
查看>>
js获取鼠标位置
查看>>
Mysql
查看>>
跨越企业的“中等收入陷阱”
查看>>
Android 开发者必知的开发资源
查看>>
软件工程技术基础-(软件复用技术)
查看>>