本站文章均为 李华明Himi 原创,转载务必在明显处注明:
转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/android-game/881.html
☞ 点击订阅 ☜ 本博客最新动态!及时将最新博文通知您!
本篇介绍在Cocos2dx中加入网络通信相关代码,然后编译到Android时出现的一些细节和需要注意的地方总结。不多废话了,直接进入正题;
1. 首先介绍在Cocos2dx中使用pthread编译时应注意:
由于NDK明确指明不支持 pthread_cancel() 函数,编译的错误提示如下:
解决方案:
使用 pthread_kill() 或者 return NULL; 两种方法进行解决。
其中的区别如下:
pthread_exit() : 可以指定返回值,以便其他线程通过 pthread_join() 函数获取该线程的返回值;
return: 在线程函数中使用 return,会退出线程;
这里Himi推荐使用 return ,直接 return NULL;
2. 编译提示找不到 sockaddr_in 与 htons等定义,错误提示如下:
出现此类问题,主要是头文件没有加入,虽然在ios编译环境不抱错,但是编译会出现此问题。
解决方案:
在使用这些函数的类中,加入如下两个头文件:
- #include "netdb.h"
- #include "netinet/in.h"
3. Curl.h 头文件找不到。注意,这里是编译出现头文件找不到的问题,如果你是xcode编译找不到头文件请参考如下博文:(这里讲解的是在ndk编译android过程中出现此类问题的解决办法)
【C/S通信交互之Http篇】Cocos2dx(Client)使用Curl与Jetty(Server)实现手机网游Http通信框架(内含解决curl.h头文件找不到问题)
先观察错误的日志:
解决方案:
在你使用curl的类中,虽然导入了curl类,那么你肯定是include “curl/curl.h”导入的吧!OK,改变如下即可,指定到完整相对路径即可:
- "../../libs/cocos2dx/platform/third_party/ios/curl/curl.h"
4. 有时候编译报错,错误提示说 curl_global_init 、curl_easy_init、curl_easy_setopt等没有定义undefined !这个问题是因为没有加入curl关联lib包;错误提示如下:
解决方案:
修改jni下的helloworld下的.mk文件,整个路径如下:
your project//android/jni/helloworld/Android.mk
打开整个mk文件,找到如下内容:
修改成如下内容:
其实就是添加了两句话!但是要注意!
你仔细看添加的第一句下面一句中间的符号,之前是 “ := ”现在是 “+=” 一定要注意,这个问题困扰Himi好几个小时 = =。
OK,基本这些足够解决问题的啦~
从下一篇开始Himi将开始写 mac平台下的编辑器开发系列文章哦~
相关推荐
cocos2dx 编译到 android cocos2dx 是一个跨平台的游戏引擎,它支持多种平台,包括 Android、iOS、Windows 等。为了将 cocos2dx 编译到 Android 平台,需要进行以下步骤: 首先,需要安装 Eclipse、SDK 和 NDK。...
- 通过JNI(Java Native Interface)技术,Cocos2dx可以与Android的Java层进行通信,实现原生功能的调用。 2. **创建Cocos2dx项目** - 使用Cocos2dx命令行工具创建一个新的项目,如`cocos new HelloWorld -p ...
第一步:打开apk文件的lib目录下libcocos2djs.so文件,用编辑器utf-b模式打开,搜索jsc文件,关键词:Cocos Game 紧接着的 22040xxx-xxx-xx就是密码 第二步:使用cmd命令,decrypt -pw 22040xxx-xxx-xx -f C:\tt\...
总结来说,Cocos2dx在Android上的编译涉及C++和Java两部分,需要理解JNI原理,熟悉Android应用的生命周期,并掌握如何使用Cocos2d-x提供的Java接口来与C++代码交互。正确配置和理解这些知识点将有助于顺利地在...
《Cocos2dx3.x中Socket的运用:构建服务端与客户端》 在游戏开发领域,Cocos2d-x是一个广泛使用的开源游戏引擎,尤其在跨平台开发中表现出色。而网络通信是许多游戏功能的核心,如多人在线、实时对战等。Cocos2d-x...
【作品名称】:基于Cocos2dx-3.8&C++开发的雷霆战机小游戏 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: 一款简单...
《Cocos2dx工具解析:聚焦CocosBuilder》 Cocos2dx是一个广泛使用的开源游戏开发框架,基于C++,支持跨平台的游戏开发,适用于iOS、Android、Windows等多个平台。在Cocos2dx的生态系统中,有一系列强大的辅助工具,...
总结,从Win32移植Cocos2d-x项目到Android平台并不复杂,关键在于理解两个平台之间的差异,正确配置环境,调整项目设置,并解决可能出现的兼容性问题。通过这个过程,开发者可以学习到跨平台开发的基本技巧,这对于...
【Cocos2dx-3.8与C++开发雷霆战机小游戏】 Cocos2d-x是一个开源的游戏开发框架,广泛应用于2D游戏、图形界面应用程序和其他交互式项目。在这个项目中,开发者选择了Cocos2dx的3.8版本,这是一个基于C++的版本,提供...
2. **配置和编译FFmpeg**:根据你的平台(iOS, Android, Windows等)配置FFmpeg,确保编译出适合Cocos2dx的静态库。 3. **添加库到Cocos2dx项目**:将编译好的库文件添加到项目的链接器设置中,这样Cocos2dx就可以...
ios编译COCOS2DX时,有些版本会出现以下错误,'__curl_rule_01__' declared as an array with a negative size 只需把附件的CURL代码替换掉引擎的,再把SO库拉到工程中,即可解决这问题
原本cocos游戏的android工程编译时,需要将cocos的库文件进行编译,这些文件大部分是cpp文件,使用ndk-build工具编译cpp文件非常慢,而且非常耗cpu,大概需要30-40分钟才能编译完成. 这个demo,可以把CocosCreator....
此代码在cocos2dx2.1.4下面编译有部分错误,我修改后,正常。 下下来后,请在VC++包含目录中链接(F:\cocos2d-x-2.1.4\cocos2dx\platform\win32;F:\cocos2d-x-2.1.4\cocos2dx\platform\third_party\win32\OGLES\GL\;...
"iconv cocos2dx android 库"就是为了解决这个问题而存在的,它提供了一个跨平台的字符编码转换工具,使得在UTF-8和GBK之间进行转换变得简单。 Iconv是一个广泛使用的字符编码转换库,最初由GNU项目开发,现在已经...
- 为了让cocos2dx支持Android平台,通常需要安装Android NDK(Native Development Kit),它包含了一系列的开发工具,可以用来编译C或C++代码生成可在Android设备上运行的本地库。 以上就是cocos2dx在Windows环境...
《cocos2dx游戏开发系列之三:源码解析与Android工程构建》 在游戏开发领域,cocos2dx是一个广泛使用的开源游戏引擎,尤其在跨平台开发中扮演着重要角色。本篇将深入探讨cocos2dx游戏开发系列的第三部分——源码...
1. **升级Cocos2dx版本**:最理想的解决方案是将Cocos2dx升级到4.0及以上版本。Cocos2dx团队已经在4.0版本中修复了UIWebView的问题,因此,如果你的项目允许,推荐升级到最新稳定版本。这不仅可以解决UIWebView的弃...
在Android平台上集成Cocos2dx与Protobuf,可以实现高效的数据交换和序列化,提升游戏性能。 首先,让我们详细了解一下如何在Cocos2dx项目中集成protobuf。这通常包括以下几个步骤: 1. **下载与安装protobuf**:你...
cocos2dx android cpp-tests 编译成功的apk文件(debug版) cocos2dx android 基本例子程序 编译成功的apk文件(debug版)