将Cocos2d-x游戏打包成Android应用程序
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文件名称
假设项目文件一多的话势必编写起来麻烦,并且须要更改时也非常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. 编译项目,假设看到控制台输出
说明编译成功。
将Cocos2d-x游戏打包成Android应用程序的更多相关文章
- cocos2d安装配置及打包成Android
vs+python+cocos2d python下载:点这里 这里需要下载Python 2.X版本.曾经以为要下载3.x版本 后来装上发现cocos2d-x提供的python运行报错,所以卸载以后重新 ...
- cordova+vue 项目打包成Android(apk)应用
现在使用vue开发的项目越来越多,使用vue开发的移动端打包就成了最大的问题.现在前端打包方案有好多种,但是综合来说,我比较喜欢用cordova来进行Android和ios的打包,配置完成之后,每次只 ...
- 如何将html5程序打包成Android应用
问题分析: html5网站主要由html+css+js的形式组成,需要使用浏览器进行展现. Android需要使用Java语言来开发,对于前端工程师来说,无疑是增加了很大的难度. 随后出现了很多打包工 ...
- JAVA程序打包成exe小程序的过程
编程软件:myeclipse2014 打包exe软件:exe4j 1:在myeclipse2014新建java项目编写程序 2:打包成jar,分两种情况(有无外部依赖包) 无外部依赖包:点击项目--- ...
- electron打包成桌面应用程序的详细介绍
1.前提条件 a. 安装了node b.安装了electron c.你知道自己写的东西(js,css,html等等)放在那个文件夹(假设这个文件夹命名为 app,下面会用到)中 2.安装electro ...
- vs2019将小游戏打包成msi踩的坑(个人)
1.VS无Setup projecrt? vs2015之前是自带打包msi功能的,vs2017之后需要自己去下载插件: 下载地址:https://marketplace.visualstudio.co ...
- Qt ------ window下工程项目打包成一个exe程序
最近,在学习QT5的过程中,想尝试着把自己写的工程程序给打包发布出来,在任何一台windows系统都能运行,这样就不会限于电脑需不需要安装QT安装包了. 首先,先介绍自己使用的环境.我使用的QT版本是 ...
- 4-QT的程序打包发布(将QT5的工程项目打包成一个exe程序)
https://blog.csdn.net/windsnow1/article/details/78004265 最近,在学习QT5的过程中,想尝试着把自己写的工程程序给打包发布出来,在任何一台win ...
- QT5的程序打包发布(将QT5的工程项目打包成一个exe程序)
最近,在学习QT5的过程中,想尝试着把自己写的工程程序给打包发布出来,在任何一台windows系统都能运行,这样就不会限于电脑需不需要安装QT安装包了. 首先,先介绍自己使用的环境.我使用的QT版本是 ...
随机推荐
- FreeBSD 用kgdb调试kernel dump文件
FreeBSD 用kgdb调试kernel dump文件 来自: http://blog.csdn.net/ztz0223/article/details/8600052 kgdb貌似和ddb一样属于 ...
- [HEOI2016/TJOI2016][bzoj4555] 求和 [斯特林数+NTT]
题面 传送门 思路 首先,我们发现这个式子中大部分的项都和$j$有关(尤其是后面的$2^j\ast j!$),所以我们更换一下枚举方式,把这道题的枚举方式变成先$j$再$i$ $f(n)=\sum_{ ...
- docker 集群 flannel网络构建
先保证集群状态是正常的 集群管理 kubelet 在创建pod 时会先下载一个pause 镜像,这个镜像用于容器基础网络管理非常重要: 每个node 节点都要执行该操作: iptables -P FO ...
- 如何在Windows下开发Python:在cmd下运行Python脚本+如何使用Python Shell(command line模式和GUI模式)+如何使用Python IDE
http://www.crifan.com/how_to_do_python_development_under_windows_environment/ 本文目的 希望对于,如何在Windows下, ...
- Dinic 网络流
写个博客贴板子-- inline void add_edge(int x,int y,int z){ e[++tot].x=y,e[tot].cap=z; e[tot].next=h[x],h[x]= ...
- UIImage与Base64相互转换
UIImage与Base64相互转换 采用第三方类 Address:https://github.com/l4u/NSData-Base64/ 经测试好用. 2013-07-17
- js2:事件的学习,弹出窗口,状态栏字改变,地图热点的使用
原文发布时间为:2008-11-08 -- 来源于本人的百度文章 [由搬家工具导入] <html> <head> <title>js</title> & ...
- css3 ani-2-trans, any to transform!!! css3 animation jingsui! Hover
http://www.daqianduan.com/example?pid=2959 animation, transition, transform or ani 2 trans
- 组合模式Composite Pattern(转)
什么是组合模式呢?简单来说组合模式就是将对象合成树形结构以表示“部分整体”的层次结构,组合模式使用户对单个对象和组合对象使用具有一致性. 组合模式(Composite Pattern)有时候又叫部分- ...
- AC日记——3的幂的和 51nod 1013
3的幂的和 思路: 矩阵快速幂: sn-1 3 1 sn * = 1 0 1 1 来,上代码: #include <cstdio> ...