留个笔记,网上搜的一堆各种版本,经过总结实践,终于搞明白了
本人开发环境(网上各种版本就是没有说自己开发环境)
vs2010
cocos2d-x-2.2.3
Cygwin 1.7.28
需要用到的软件
1、Cocos2d-x引擎
2、Cygwin
http://cygwin.com/setup-x86.exe
3、Android NDK
https://developer.android.com/tools/sdk/ndk/index.html
4、Python2.7
https://www.python.org/download/releases/2.7/
各种软件使用说明:
Cocos2D的引擎版本问题
首先说明,官网下载的各种版本内的东西都不一样,但是由于版本的进化,创建工程以及交叉编译前期工作也越来越便捷,因为可以发现随着版本号的增加,文件夹内的文件会越来越精简。
cocos2d-x-2.2.3版本
下载完解压出来的目录如下:
创建工程
直接使用python脚本创建
脚本路径: .\tools\project-creator\create_project.py
脚本执行: python create_project.py -project 工程名字 -package com.cocos2dx.org -language cpp
为了便捷可以写个批处理,就不用每次创建都写那么大串
@set/p ProName=请输入新工程名:
SET PATH=你的python安装路径
python create_project.py -project %ProName% -package com.cocos2dx.org -language cpp
pause
将这个批处理放于脚本同级目录执行即可,执行效果如下:
然后返回引擎总目录下就会看到个project的文件夹被创建,里面就会包含一个你新创建的工程
由于cocos2d最新版本为了简化交叉编译的过程,因此这里直接创建了所有能够支持的平台工程。
PS:其中Classes和Resources这2个文件夹是关键
以上就是创建工程的步骤
编译工程
本人使用VS2010开发,因此选择刚刚创建的工程内的proj.win32工程框架
打开后如下:
一个解决方案有6个项目,其中Test是你的工程,其他5个是依赖的库,我们直接F5就可以跑起来。
PS:如果编译整个工程,在Debug.win32执行Test.exe会执行出错,那是因为缺少了资源,资源就在上层Resources目录下,只需要将资源复制到test.exe同级目录即可运行成功
交叉编译
最终工程是要在Android平台运行就需要用到交叉编译,通俗的说就是把Vc工程转成Android的工程然后编译就可以了。
1、改配置
由于python脚本已经帮我们都创建好了,因此只要到proj.android目录下改写配置就行
build_native.sh文件用文本工具打开
添加 NDK_ROOT="你NDK的解压目录"
如下:
保存即可
.\jni\Android.mk 文件 用文本工具打开
如下:
PS:CPP的添加记得用” \ “连接
2、转工程
打开Cygwin
直接将android工程目录下的build_native.sh文件拖入Cygwin窗体内,按回车执行
如下:
执行完后就会在目录内生成完整的android工程
3、android编译
导入E:\cocos2d-x-2.2.3\cocos2dx\platform\android\java 作为库使用
最后一步只需在eclipse内导入刚刚的android工程 直接就可以编译成apk了
PS:跑Cocos2d 的虚拟机最好使用android 2.3以上的系统,否侧编译后跑可能会是黑屏
enjoy!!