cocos2dx中NDK环境问题

项目临近上线时在Android 5.0系统上出现HTTP请求无响应的问题,通过更换NDK版本及libcurl库解决。记录了从发现问题到解决问题的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  前几天,项目即将上线,可是上线前一天,突如其来的问题总是给人致命一击,一直以来项目组没有配备安卓5.0系统的手机,有哥们儿装了一下之后发现只要牵扯到HTTP请求的地方,均无任何返回。于是看cocos中httpClient源码,一步一步打log进去(eclipse中有java以及C++代码,断点调试只可取其一,真是蛋疼),结果百思不得其解,为何没有进入http分线程呢?分析了半天之后,觉得应该是libcurl的问题了。而libcurl以静态库的方式存在,为何在android4.x上没有问题,在5.x上就有问题了,首先想到的是libcurl对于安卓4.x的支持不到位,于是下载cocos2dx3.5版本,将libcurl库考进来替换,然后编译运行,激动的看半天,结果依旧没有返回值。

  于是上网查找论坛有人提到是NDK编译环境的问题,对啊,编译环境不同编译出来的静态库肯定会有略微的区别。于是果断下载NDK r10c版本,编译之。。。擦,编译出错了,查询cocos2dx3.5之后发现编译器用的是NDK r10d,下载一个ndk然后解压以后编译运行花了将近一个小时,如果再换到r10d岂不是又得一个小时,而且我的整个引擎使用的是3.2版本,会不会其他的也编译出错,这真是一件悲伤的事情,开源引擎与其说是一个引擎,不如说是一个代码库算求了,没有任何成熟的解决方案,基本都是依靠第三方工具。这个时候我深深的认识到开源免费的东西在做项目的过程中有多么的令人心碎。

  深呼吸,告诉自己这个肯定能找到解决办法的。于是开始分析:

    1 cocos2dx3.2 对应 NDK r9c

    2、cocos2dx3.5 对应 NDK r10d

 

   刚才试过之后发现  NDK r10c 编译的时候对3.2以及3.5都有问题,那怎么办,折中方案,去cocos2dx 3.3中找了libcurl替换之,编译运行,SUCCESS!!

  妈的,这一刻的心情真是万头草泥马奔腾而过,用开源引擎跨平台做项目坑太多,找个时间把这个项目遇到的各种坑一一列出,有些坑已填,有些坑用了猥琐的方式处理,反正最终项目的样子呈现就OK,但是过程的确让兄弟们心碎。

 

  附上NDK r10c Mac 版本下载地址:http://dl.google.com/android/ndk/android-ndk-r10c-darwin-x86_64.bin

  cocos2dx 3.x 下载页面: http://cn.cocos2d-x.org/download#anchor2

 

转载于:https://www.cnblogs.com/StrongWang/p/4474879.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值