标签:
前几天,项目即将上线,可是上线前一天,突如其来的问题总是给人致命一击,一直以来项目组没有配备安卓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,但是过程的确让兄弟们心碎。
标签:
原文地址:http://www.cnblogs.com/StrongWang/p/4474879.html