一:环境配置
环境配置参考了cocos官网:http://www.cocos2d-x.org/docs/manual/framework/native/getting-started/v3.0/setting-up-development-environments-on-windows7-with-vs2013/zh
工具准备
搭建开发环境需要安装工具包括
- Visual Studio
- phython ———(本教程以phython2.7.3版本为例),下载地址:http://www.python.org/download/releases/2.7.3/。
- cocos2d-x ———(本教程以cocos2d-x-3.0版本为例),下载地址:https://code.google.com/p/cocos2d-x/downloads/list。
安装配置过程
Visual Studio 的安装过程略过,本教程主要讲解phython2.7.3和cocos2d-x-3.0的安装配置过程。
安装配置phython2.7.3
1. 下载并安装phython2.7.3。
2. 配置环境
右键单击“计算机”,选择“属性”----》“高级系统设置”,在“高级”选项卡下选择“环境变量”!
在“系统变量”下选中“Path”,并点击下方的编辑按钮:
在弹出的“编辑系统变量”对话框中编辑“变量值”,在“变量值”的后面添加Python的安装路径(D:\Program Files (x86)\Python27),用英文分号(;)将其与后面的其他内容隔开。
同样地,在“PATHEXT“的变量值中添加 .PY;.PYM 。
3. 检验安装是否成功
打开cmd控制台,输入 python,如果出现如下提示,则说明python安装成功。
安装创建cocos2d-x-3.0项目
- cocos2d-x-3.0项目无需安装,下载cocos2d-x-3.0文件并解压,打开 “build”目录,直接双击运行 cocos2d-win32.vc2012.sln解决方案即可。
- 将你要运行的项目设为启动项,点击运行。
- 如果一切正常,你将得到如下的界面。那么祝贺你!你已成功的在Windows 7平台中运行cocos2d-x引擎了。
安装配置JAVA JDK
因为我们是针对Android开发,所以我们需要安装的第一个软件包绝对是JDK。如果你用的是64位的Windows 7,那应该下载以下版本软件64 bit JDK for windows 64bit,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 。
下载完成之后,双击exe文件安装JDK,注意最好不要将其安装在有空格或者中文文件夹下,其他无限制,注意记下其安装路径,本机安装路径为:D:\Program Files\Java\jdk1.7.0_51\
配置环境变量:
新建环境变量:JAVA_HOME 值为:D:\Program Files\Java\jdk1.7.0
新建环境变量:CLASSPATH 值为:.;%JAVA_HOME%\lib;(注意:点号表示当前目录,不能省略)
在系统变量Path的值的前面加入以下内容:%JAVA_HOME%\bin;(注意:这里的分号不能省略)到这里,JDK安装完毕。
单击“开始”—>“运行”—>输入:cmd命令,在CMD窗口中输入:java -version
出现如下界面,就表示安装成功:
配置Android SDK环境
点击进入http://developer.android.com/sdk/index.html页面,下载ADT包,它能帮你快速开始开发应用程序。它包括了必要的Android SDK组件和一个内置ADT(Android开发者工具)的Eclipse IDE版本,简化了Android应用程序开发。
下载Android SDK下载之后解压,并将其放置于你要放置的目录下,在 “..\adt-bundle-windows-x86_64-20131030\eclipse” 文件夹中会有一个eclipse.exe程序,本机在桌面上创建了该程序的快捷方式。
现在就可以双击桌面的快捷方式启动Eclipse,同时会出现一个即时对话框,要求设置默认工作区(workspace)。选择“OK”接受默认设置即可。
配置环境变量:
新建环境变量:ANDROID_SDK 值为:D:\TDDownload\android\adt-bundle-windows-x86_64-20131030\sdk\platforms\;D:\TDDownload\android\adt-bundle-windows-x86_64-20131030\sdk\tools\;D:\TDDownload\android\adt-bundle-windows-x86_64-20131030\sdk\platform-tools(D:\TDDownload\android是SDK存放的位置)。
在系统变量Path的值的前面加入以下内容:%ANDROID_SDK%
单击“开始”—>“运行”—>输入:cmd命令,在CMD窗口中输入:adb -h
检验是否安装成功。
在“..\adt-bundle-windows-x86_64-20131030\sdk” 目录下有两个可执行程序,“AVD Manager.exe”和“SDK Manager.exe”,可直接通过它们创建管理AVD,SDK。
安装NDK
安装完Android SDK之后,还要安装“Android NDK”软件包,用户可前往http://developer.android.com/tools/sdk/ndk/index.html下载。下载完成之后,解压,并将其放置到相应路径,本机路径为 D:\android-ndk-r9,设置另一个名为“NDK_ROOT”同时指向存放路径的环境变量。
创建项目:这里由于3.0和官网不同,因此不采用create_project.py创建
set /p projectName=请输入项目名称:
if "%projectName%"=="" goto inputError
set /p packageName=请输入包标示名:
if "%packageName%"=="" goto inputError
cocos new %projectName% -p %packageName% -l cpp -d E:\Android\cocos2d-x-3.0rc0\projects\
pause
exit
:inputError
@echo 项目名称或者包标示名不能为空!
pause
二:打包:这里我参照http://blog.csdn.net/linzhengqun/article/details/21663341的方法
第一步:\proj.android\jni下的Android.mk文件
例如我的项目目录下的是E:\Android\cocos2d-x-3.0rc0\projects\Prefect_Day\proj.android\jni
第二步:创建批处理文件,并将其放在项目的根目录下
例如我的是:E:\Android\cocos2d-x-3.0rc0\projects\Prefect_Day
其中BuildAndroid.bat写:
-d E:\Android\cocos2d-x-3.0rc0\projects\Prefect_Day
cocos compile -p android -j 4
其中 E:\Android\cocos2d-x-3.0rc0\projects\Prefect_Day是你的项目名称
三:运行生成
- 到adt-bundle-windows-x86\eclipse打到eclipse.exe
第一次会提示设置工作区,你可以设置工作区放在哪里,我这里为了演示就默认了。
- 接下来我们要看看SDK和NDK的路径是否正确:
- 选择Windwos/Preferences菜单项,打开选项对话框。
- 选择Android结点,看看SDK Location是否正确,我这里为F:\software\adt-bundle-windows-x86-20131030\sdk,说明是正确的,如果没有值,就手动把SDK的根目录设进去。(这步不知道为什么我找不到???)
- 接着选择Android/NDK结点,在NDK Location输入d:\adt-bundle-windows-x86\android-ndk-r8e
- 接下来我们来导入工程,选择file/import,打开导入对话框:
- 选择Android/Existing Android Code Into Workspace,然后Next。
- 第一步要先把libcocos2dx导进来:
- 在Root Directory输入F:\cocos2dx\mbgame\mygame1\cocos2d\cocos\2d\platform\android\java
- 此时列出libcocos2dx工程,点击finish把工程导进来。
- 第二步导入我们的工程:
- 在Root Directory输入F:\cocos2dx\mbgame\mygame1\proj.android。
- 此时会列出mygame1工程,点击finish把工程导进来。
- 最后连接手机,选择运行或调试就可以跑程序了。
- 在导入工程到Eclipse时遇到几个坑,在这里记下来,免得后面的人继续踩这些坑:
- 没有导libcocos2dx,只导mygame1时不会有编译错误,但跑起来后会ClassNotFound异常,说找不到org/cocos2dx/lib/Cocos2dxHelper类,这个问题搞了我好久,后来在论坛看到贴子才明白,希望后续官方有详细的文档。
- 因为adt只包含了android4.4(api-19)的版本,所以默认使用的是这个版本,我自己拷了几个更低的版本,然后把Build target设为android2.3(api-9),此时运行程序会提示下面错误:
Unable to execute dex: java.nio.BufferOverflowException
后来在网上查了一下,发现是 Android SDK Build tools的BUG,把它升级到 19.0.3后就好了:打开SDK Manager,找到19.0.3的Android SDK Build Tools,安装之。