文中大部分内容来自http://cn.quick-x.com/?p=253,绿色标记部分为修改部分。
配置编译环境的基本步骤:
- 安装 Visual Studio 2012
- 安装 Java SDK
- 安装最新的 Android ADT bundle 和 Android NDK
- 下载 quick-cocos2d-x 源代码
- 设置环境变量
- 编译 quick-x-player proj.win32 工程
- 设置eclipse的lua编译环境。
- 创建新项目,并在 Android 真机上进行测试
- xplayer+eclipse调试lua
Step 1: 安装 Visual Studio 2012
从 http://www.microsoft.com/visualstudio/ 下载 Visual Studio 2012,并进行安装。
支持的版本:
- Visual Studio 2012
- Visual Studio Express 2012 for Windows Desktop
注意:必须使用 Windows Vista/7/8 操作系统。
Step 2: 安装 Java SDK
从 http://www.oracle.com/technetwork/java/javase/downloads/ 下载最新版的 Java SDK (JDK, 推荐使用 32bit 版本),并进行安装。
Step 3: 安装最新的 Android ADT bundle 和 Android NDK
- 从 http://developer.android.com/sdk/ 下载最新的 ADT Bundle for Windows ( 推荐 32bit 版本,或者和 JDK 匹配的版本 )。
- 解压缩 adt-bundle-windows-x86-2013????.zip 。
- 将目录 adt-bundle-windows-x86-2013???? 改名为 android 。
- 将目录 android\sdk 改名为 android\android-sdk-windows 。
- 从 http://developer.android.com/tools/sdk/ndk/index.html 下载 Android NDK r?
- 解压缩 android-ndk-r?-windows-x86.zip
-
将目录 android-ndk-r? 移动到 android\android-ndk-r?
最终的目录结构:
\android\android-ndk-r? \android\android-sdk-windows \android\eclipse -
运行 android\android-sdk-windows\tools\android.bat, 选中 Android SDK 2.2(如果看不到 Android SDK 2.2,请设置代理), 然后安装需要的包。
Step 4: 下载 quick-cocos2d-x 源代码
下载develop版本的quick,quick-cocos2d-x-develop.zip,这个版本的player增加了auto connect debugger功能,方便调试lua。
方法 1: 最快速获得源代码的途径是通过 quick-cocos2d-x 官方网站上的下载页面。这里列出了所有的稳定版本及其下载链接。
由于 Android SDK 和 NDK 的问题,quick-cocos2d-x 目录的放置有一定要求:
- 必须和 Android SDK/NDK 在同一个分区
- 不能放在根目录
- 路径中不能包含中文和空格(所以别放桌面了)
方法 2: 使用 git 工具克隆 quick-cocos2d-x 仓库。启动 终端 应用程序, 运行命令:
$ git clone git://github.com/dualface/quick-cocos2d-x.git
Cloning into 'quick-cocos2d-x'...
如果访问 github.com 速度太慢,可以使用国内镜像仓库,网页:https://code.csdn.net/liaoyulei01/quick-cocos2d-x
Step 5: 设置环境变量
打开 系统属性 -> 高级 -> 环境变量:
添加下列环境变量(注意修改
ANDROID_NDK_ROOT=<PATH_TO>\android-ndk-r8e
ANDROID_SDK_ROOT=<PATH_TO>\android-sdk-windows
QUICK_COCOS2DX_ROOT=<PATH_TO>\quick-cocos2d-x
COCOS2DX_ROOT=%QUICK_COCOS2DX_ROOT%\lib\cocos2d-x
ANDROID_HOME=%ANDROID_SDK_ROOT%
PATH=%QUICK_COCOS2DX_ROOT%\bin\win32
如果 PATH 变量已经存在,则在 PATH 变量最后添加;%QUICK_COCOS2DX_ROOT%\bin\win32。
Step 6: 编译 quick-x-player proj.win32 工程
启动 Visual Studio 2012,打开 \
编译时如果提示文件找不到,请做以下检查:
- 环境变量设置是否正确
- 设置和修改环境变量后,必须重新启动 Visual Studio
- 工程默认的platform-tools设置的是v110xp,在win7-64下编译不过,改成v110.
编译完成以后,在quick-cocos2d-x-xx\player\bin\win32下生成quick-x-player.exe和quick-x-player-release.exe。(貌似这一步可以省略,因为下载的zip包里面已经有这两个exe了)
Step 7: 创建新项目,真机运行
在dos窗口下,运行脚本
quick-cocos2d-xxx\bin\create_project.bat cn.a.b.demoGame
此时在当前目录生成一个demoGame目录,在demoGame下包含多个平台的项目。
在dos下,运行脚本proj.win32/build_native.bat,几分钟过后在libs下生成一个libGame.so,这个so就是Cocos2d的静态链接库。
现在用eclipse打开proj.win32项目,连上真机就可以调试了,不过由于没有添加任何代码,在真机上看到的是黑屏。
此时将samples/coinflip的scripts和res目录拷贝到proj.android/assets目录下,重新运行就能在真机上看到coinflip游戏了。
Step 8: eclipse LDT+quick-x-player调试lua
在eclipse的Help->eclipse market place窗口中搜索ldt,安装lua development tools(LDT)。
安装以后,在File->new->下可以看到lua project了,创建lua项目。选择从已有代码创建
然后在main.lua前加上如下代码,以支持调试
-- for debugger
local initconnection = require("debugger")
initconnection('127.0.0.1', 10000 , 'luaidekey')
(上述代码引用了debugger,但是现在scripts目录下并没有这个文件。下面步骤中会将这个文件加上)
在debug configuration窗口,创建一个lua attach to application类型的配置。
idekey和timeouts默认都已设置,timeouts改成60。
点击Lua Debugger Client,在随后的目录选择窗口中,选择本lua工程的scripts目录,操作完毕后,ldt会拷贝一个debugger.lua到Scripts目录下。
准备工作基本完成,接下来就可以调试了。
1、在ecplise中以debug方式启动lua,在代码中设置断点,等待quick-x-player的连接。
2、启动quick-x-player-release,在file下勾选Auto connect debugger(只有develop版本的player才有这个选项)
然后open project,选择之前项目demoGame/proj.android/assets(注意不是demoGame,不然调试的时候会报错)。
按F5,此时eclipse就可以看到代码运行到断点了。