下载地址: https://www.python.org/download/releases/2.7.5/(我们下载2.7.5版本,没有为什么,因为我用的就是这个版本,3.0以上版本变动很大,一些用法都变了,好像coco2dx安装脚本不支持3.0以上版本,所以乖乖下载2.7的版本吧----有些时候并不是最新的就是最好的,你懂得)
下载后执行python-2.7.5.msi进行安装就可以了。不要忘了在安装完成后配置环境变量哦,做程序开发如果不懂配置环境变量那么你就惨了.....
(我的这篇文章中有介绍环境变量配置的http://blog.csdn.net/longming_xu/article/details/28241045)
第四步:下载cocos2dx 2.2.2版本
cocos2dx每个版本的变动都很大(如果你想了解各个版本的变化,请自行谷歌),这也是我初学的时候比较蛋疼的地方,有时候就纳闷为什么cocos2dx不搞一个像unity3D那样的集成开发环境呢?每个版本的变动,竟然连工程创建方式都不一样,让我们情以何堪啊(3.0版本变动据说挺大的来...)!!!在这里我只介绍2.2.2版本的工程创建,其他版本自行谷歌喽(因为这不是本文的主要内容,如果有需要的话,可以考虑后续补充)。
下载地址:
http://www.cocos2d-x.org/download/version#Cocos2d-x
找到v2.2.2版本(现在都出到v3.1.1了)
第五步:创建一个Helloworld程序:
1、解压zip文件
①看见上图红框tools文件夹了吗,打开它进入project-creator目录下,红框就是项目创建脚本了(你不需要知道他是怎么实现的--如果你愿意的话你可以了解下):
②点击当前目录空白处,然后按shift+右键,选择-->在此处打开命令行窗口
③打开命令行,然后输入create_project.py后回车,出现提示喽,他会告诉你你需要传递的参数信息:
-project 是新建项目名称
-package 是java方式的包结构(这个是为了android移植而设定的)
-language 是你的项目所使用的开发语言(cpp即c++,lua,javascript三种)
################################################################################################################33
- @echooff
- set/pprojectName=请输入项目名称:
- if"%projectName%"==""gotoinputError1
- set/ppackageName=请输入包标示名:
- if"%packageName%"==""gotoinputError2
- set/planguage=请输入语言:
- if"%language%"==""gotoinputError3
- create_project.py-project%projectName%-package%packageName%-language%language%
- pause
- exit
- :inputError1
- @echo项目名称不能为空!
- :inputError2
- @echo包标示名不能为空!
- :inputError3
- @echo选择语言不能为空!
- pause
##############################################################################################################
⑤那么我们进入项目文件夹project中,你会发现刚才新建的项目helloworld了
proj.开头的文件夹是各个平台的入口实现方式
⑧看结果吧,当当当当....大功告成!(这样我们就可以在win32平台下进行开发了---尽情地蹂躏cocos2dx吧)
到目前为止,我们已经学会了如何创建cocos2dx项目了,并吧helloworld程序跑起来了,可以进行win32开发了,那么下一步我们就是要将这个项目交叉编译到Android上了,下面你就会见识到cocos2dx的跨平台性了。
这里插入一点小介绍:
编写的c++代码为什么能在Android上运行?其实这是使用了java的
jni(
Java Native Interface --java本地调用)技术,jni技术允许Java代码和其他语言写的代码(c/c++)进行交互。
百科:
众所周知,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的
第三方应用
都必须使用
Java语言
。但这并不等同于“第三方应用只能使用Java”。在Android SDK首次发布时,Google就宣称其
虚拟机
Dalvik支持JNI
编程
方式,也就是第三方应用完全可以通过JNI调用自己的C动态库,即在Android平台上,“Java+C/C++”的编程方式是可以实现的。(下面将要用的NDK其实就是采用了jni技术,对它简化了而已)
第六步:下载Cygwin安装
首先你会问
Cygwin是什么小编对吧,其实他是一个
UNIX模拟环境,它让你可以在window下运行
UNIX环境,而不需要安装虚拟机!它对于学习UNIX/Linux操作环境,或者从UNIX到Windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用GNU工具集在Windows上进行嵌入式系统开发,非常有用。随着嵌入式系统开发在国内日渐流行,越来越多的开发者对Cygwin产生了兴趣。说白了它就是一个小linux系统(模拟的),在Cygwin中你可以使用绝大部分Linux软件和功能。如Gcc,Make,Vim,Emacs等等。总之如果你想使用某个Linux下的功能,而windows上又找不到好的替代品的话,你就可以用Cygwin。使用的最频繁的是Gcc和Make。经常会用它们来编译一些我从网上下载的开源的工程。这些工程在Windows上编译往往很麻烦。
百科:
NDK是一系列工具的集合------
③NDK可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作。
如果你下载的是NDK r7之前的版本,那么你会发现都会提到Cygwin下载(以提供make 和 gcc的MinGNU环境)。NDK r7和之后的版本都自带了编译器,就不需要下载Cygwin了。(这里我不管是哪个版本,都用Cygwin去做交叉编译,就当做是学习Cygwin了,后面会介绍直接使用NDK r7自带的编译器,不使用Cygwin)
下载地址:
3、现在你可以打开Cygwin终端,执行如下命令
cd $NDK_ROOT
cd $COCOS2DX_ROOT
出现下图输出即配置成功了,你可以直接使用这些变量了(为什么要配置这些变量,下面我会解释原因!!!!)
5、 进入cocos2dx中的proj.android,执行build_native.sh文件
####################################################################################
补充介绍:上面第二步配置Cygwin的.bash_profile文件时的NDK_ROOT和COCOS2DX_ROOT有什么用呢?你又没有注意到你执行build_native.sh的时候会打印一些信息,我们看一下build_native.sh脚本内容!!
红框1---判断NDK_ROOT变量是否定义了;(这就是我们配置了NDK_ROOT的原因)
红框2--获取当前执行的bash脚本的路径;
红框3--打印相关路径信息;
熟悉bash的人应该不难理解它。
####################################################################################
我们的交叉编译工作已经搞定了,最后就是生成apk,在Android手机上测试了。
2、导入helloworld项目地址,执行Finish
3、创建新项目目录结构如下图,你会发现他报错了,说没有导入包org.cocos2dx!!!
4、解决办法有两种:
一种是拷贝\cocos2d-x-2.2.2\cocos2dx\platform\android\java\src下的org文件夹到\cocos2d-x-2.2.2\projects\helloworld\proj.android\src中,刷新一下项目,错误消失
5、右键helloworld---properties,修改如下图(android目标版本),同理libcocos2dx---properties(不过需要指定他为lib)
6、ok了,没有任何错误了,右键helloworld项目,执行一下吧run as...
这样你就在cocos2d-x-2.2.2\projects\helloworld\proj.android\bin下生成一个android的apk文件了,可以安装到android手机上了!!!!(你也可以用AVD模拟器测试一下,不过它一般反应比较慢,建议真机测试!!)
ok了!cocos2dx的交叉编译到Android上完成了。我们总结一下吧!
1、首先你要下载安装vs2012+番茄插件----这样你就可以进行c++开发了
2、下载安装python----创建cocos2dx的新项目时候需要用到
3、下载cocos2d-x-2.2.2版本,解压即可---我们进行游戏开发的2d游戏开源框架
4、然后我们介绍了利用上面的各种工具如何创建一个helloworld程序
6、进行交叉编译项目(就是在cygwin下执行proj.android文件夹下的一个脚本:里面配置好了各种信息。在执行脚本之前不要忘了配置一下jni文件夹下的mk文件哦)编译完毕会生成一个so文件。小提示:什么是mk文件?什么是so文件?android的东西,可以去了解一下,我没去了解过!
7、最后一步就是在eclipse中导入该项目,编译生成apk了!!!!完事你就可以部署到手机上了!
建议:如果想要了解这些的原理,可以学习一下android项目开发(jni技术、ndk的使用、cygwin的使用、bash的语法啊),了解了这些你应该就会觉得交叉编译到android上其实不难
总算是写完了,有了上一次写博客的经验,这次尽量写的不那么啰嗦!可是依然稍显啰嗦......希望大家不要介意,只是想要写的让大家明白些。大家如有有什么疑问可以回复给我,我会及时给大家解决!同时欢迎大家批评指正哦。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。