将Cocos2d-x游戏打包成Android应用程序

http://blog.csdn.net/kingabcde/article/details/25544725


1. 打开Eclipse(已经装好CDT、ADT和NDK),导入cocos2d-x的Android项目。

2. 导入后java的源代码会出现编译错误,打开cocos2d-x引擎的根目录\cocos2dx\platform\android\java\src,将src下的org文件复制到项目的src文件夹下,java文件编译通过



3. 配置环境变量和资源路径。右击项目名,按下Alt+Enter键,进入Resource中的Linked Resources中,点击new,出现以下对话框



Name输入COCOS2DX,Location输入cocos2d-x引擎的根目录,输入完点击OK后再次点击new,

Name输入PROJECT_LOC,Location输入cocos2d-x引擎的根目录\projects\你的项目\proj.android,然后点击OK,配置完资源路径的绑定



选中C/C++ Build,看到Build command: 把这个文本框中的内容改成你本机的ndk的安装目录\ndk-build.cmd(该目录不能有空格)



接下来选中C/C++ Build下的Environment,Add三个变量


三个变量的Name和Value分别是

COCOS2DX cocos2d-x引擎的根目录

NDK_MODULE_PATH cocos2d-x引擎的根目录;cocos2d-x引擎的根目录\cocos2dx\platform\third_party\android\prebuilt

NDK_ROOT ndk的安装目录



4. 把Resources下的资源文件复制到cocos2d-x引擎的根目录\projects\你的项目\proj.android\assets下

5. 编写jni\Android.mk文件



在LOCAL_SRC_FILES中加入你的项目的cpp文件名



如果项目文件一多的话势必编写起来麻烦,而且需要更改时也很容易编写错误,在下一篇文章中,用py脚本来避免这种情况

编写完LOCAL_SRC_FILES后若果有引入第三方库的话还需修改以下两处(这里以iconv库为例)

下载iconv库,并将其复制到cocos2d-x根目录下


再加入以下两个地方



这里为什么要这样子写,可以从iconv根目录\android.mk下查找



这样就可以在项目中

  1. #if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)  
  2. #include "../iconv/iconv.h"  
  3. #pragma comment(lib,"libiconv.lib")   
  4. #elif (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)  
  5. #include "../../../libiconv/include/iconv.h"  
  6. #endif  

在使用iconv时在android平台还要把const char**强转成char** (Android 真蛋疼),其中pin是const char**类型,
  1. #if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)  
  2. if(-1 == iconv(iconvH,pin,&strLength,&outbuf,&outLength)){  
  3. #elif (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)  
  4. if(-1 == iconv(iconvH,(char **)pin,&strLength,&outbuf,&outLength)){  
  5. #endif  


6. 编译项目,如果看到控制台输出



说明编译成功。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值