zoukankan      html  css  js  c++  java
  • 将Cocos2d-x游戏打包成Android应用程序

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

    2. 导入后java的源码会出现编译错误,打开cocos2d-x引擎的根文件夹cocos2dxplatformandroidjavasrc,将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的安装文件夹 dk-build.cmd(该文件夹不能有空格)



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


    三个变量的Name和Value各自是

    COCOS2DX cocos2d-x引擎的根文件夹

    NDK_MODULE_PATH cocos2d-x引擎的根文件夹;cocos2d-x引擎的根文件夹cocos2dxplatform hird_partyandroidprebuilt

    NDK_ROOT ndk的安装文件夹



    4. 把Resources下的资源文件拷贝到cocos2d-x引擎的根文件夹projects你的项目proj.androidassets下

    5. 编写jniAndroid.mk文件



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



    假设项目文件一多的话势必编写起来麻烦,并且须要更改时也非常easy编写错误,在下一篇文章中,用py脚本来避免这样的情况

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

    下载iconv库,并将其拷贝到cocos2d-x根文件夹下


    再增加下面两个地方



    这里为什么要这样子写,能够从iconv根文件夹android.mk下查找



    这样就能够在项目中

    #if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
    #include "../iconv/iconv.h"
    #pragma comment(lib,"libiconv.lib") 
    #elif (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
    #include "../../../libiconv/include/iconv.h"
    #endif

    在使用iconv时在android平台还要把const char**强转成char** (Android 真蛋疼),当中pin是const char**类型,

    	#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
    	if(-1 == iconv(iconvH,pin,&strLength,&outbuf,&outLength)){
    	#elif (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
    	if(-1 == iconv(iconvH,(char **)pin,&strLength,&outbuf,&outLength)){
    	#endif


    6. 编译项目,假设看到控制台输出



    说明编译成功。


  • 相关阅读:
    Windows Azure Cloud Service (14) 使用Windows Azure诊断收集日志记录数据
    Windows Azure Cloud Service (13) 用Visual Studio 2010 将应用程序部署到Windows Azure平台
    Windows Azure Cloud Service (15) 多个VM Instance场景下如何处理ASP.NET Session
    Windows Azure Storage (5) Windows Azure Drive
    Windows Azure Storage (7) 使用工具管理Windows Azure Storage
    SQL Azure(二) SQL Azure vs SQL Server
    webbrowser的自动提交
    提取视频的背景声音的软件
    Listview列排序的bug原因
    两个奇怪的问题
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4009676.html
Copyright © 2011-2022 走看看