cocos2dx3.2升级Android5的坑

cocos2dx3.2升级Android5的坑,第1张

概述公司的游戏用的是cocos2dx 3.2的版本 然而在Android 5 上却无法运行,出现黑屏。 先是没有触摸事件。 在stackoverflow上看到,原因是没有加载编译生成的so文件。可是看了一下AndroidManifest.xml已经加载了。 于是对比了一下高版本的2dx,发现Application.mk文件上的APP_STL使用的是gnustl_static 另外ndk版本修改为4.9

公司的游戏用的是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函数

@H_403_14@
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,0); line-height:1.5!important">toolchains/arm-linux-androIDeabi-4.84.8The Selected NDK toolchain version was 4.8 !toolchains/arm-linux-androIDeabi-4.74.7The Selected NDK toolchain version was 4.7 !else:        Couldn't find the gcc toolchain."        exit(1)

之后一切好使,过了一段时候后,发现ios正常,而AndroID却莫名其妙崩溃。经过不断的排查,发现居然是stl的排序函数引起的,compare函数的值必须返回大于,不能是大于等于。

总结

以上是内存溢出为你收集整理的cocos2dx3.2升级Android5的坑全部内容,希望文章能够帮你解决cocos2dx3.2升级Android5的坑所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1077108.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存