Windows下开发Cocos2d-x lua 客户端和服务器端
做为一个iOS开发者,一直在Mac + XCode环境下开发。初尝游戏开发,客户端是Cocos-2d lua + quick的,服务端是C++的。因为暂时只需要修改iPhone工程,本想着在Mac上开发客户端,但是没成想XCode上无法进行lua代码的调试。只能正儿八经的转战Windows,用VS调试客户端和服务端开发。
Windows下iOS开发环境搭建
- Mac下安装Windows系统。
- 安装Python。
到https://www.python.org/下载安装python,注意Cocos2d-3.6需要的是Python2.x而不是Python3.x。 - 安装Cocos2d-x。
下载Cocos2d-x 3.6,双击setup开始安装。中途一些Android的目录没有指定,press enter to skip。 - 安装Visual Studio 2013
地址:https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/ 这里只有2013Express,没有Professional了。
打开.sln提示工程中的项目无法加载时,原因可能是环境变量没有注册陈成功。需要执行cocos2dx-quick/setup_win,重启电脑再重新打开工程。 - 工程编译失败
找不到TREGIST.h。讨来该文件后,将其放到C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc\include就可以编译成功了。 - 运行失败
libpng warning: iCCP: known incorrect sRGB profile
Quick-Cocos2dx-Community C++ support ready.
cocos2d: fullPathForFilename: No file found at src/plazacenter/main.lua. Possible missing file.
cocos2d: fullPathForFilename: No file found at src/plazacenter/main.lua. Possible missing file.
Get data from file(src/plazacenter/main.lua) failed, error code is 3
原因是VS只能运行C++,无法运行lua代码。需要安装babelua。
参考:BabeLua入门 https://blog.csdn.net/babestudio/article/details/27222141
- 安装babelua
babelua是一款基于VisualStudio的免费lua集成开发环境,可进行lua语言的编译和调试。
(1)访问babelua的网站或者这个网盘下载适合自己vs版本的vsix文件https://pan.baidu.com/s/1sjmC169#list/path=%2FBabeLua
安装后VS的工具栏中会出现LUA菜单。
(2)安装VC2005运行库
这是安装Lua For Windows必须的。
下载地址:https://pan.baidu.com/s/1r_R3nvRk_DCjmmuDm-a6bA
密码:2nq9
(3)下载Lua For Windows
下载地址同上。 - 调试Lua代码
需要在VS中通过LUA菜单创建Lua一个工程
(1)Lua script folder:lua代码路径,需要指定到xxx/src目录
(2)Lua exe path:如果是新建工程需要指定到Lua For Window目录中的lua.exe;如果是现成的工程需要指定为生成好的exe
(3)Working path:指定为Lua script folder相同
(4)Command line:传给可执行文件的参数,如果新建工程一般指定要执行的lua文件;如果是现成工程则传自定义指定的参数。
(5)Lua project name:自定义工程名。
问题1:调试时断点无效。
Console attempt:
Load script(1): .lua relative (file not exist)
上面(2)中指定的.exe文件并非当前工程编译出,exe中没有相应的符号
问题2:“Error running *: Please select Android SDK”
可能由于Android Studio异常退出导致的问题。选择File - Setting - Android SDK,Edit按钮,Next,重新指定一下SDK路径就可以了。
Windows下Android开发环境搭建
- 安装JDK
打开www.oracle.com,搜索JDK 7u75或者最新版本,并安装。默认安装路径:
C:\Program Files\Java\jdk1.7.0_75\bin
- 安装NDK
android-ndk-r10d-windows-x86_64.exe 官网被墙了,文件太大不能直接上传,请打开下面的链接进行下载。
链接:http://pan.baidu.com/s/1bn0H75P 密码:6cje 安装完成后会在当前目录生成android-ndk-r10d文件夹。
设置环境变量path=当前目录\android-ndk-r10d
在cmd中执行ndk-build,如果Android NDK: Could not find application project directory…就说明安装成功了。 -
安装Android Studio
打开tools.android-studio.org,下载Android Studio后打开会显示无法访问Android SDK。
选Cancel取消。打开后根据提示下载SDK,下载到最后会有一个错误提示:
HAXM installation failed. To install HAXM follow the instructions found at: https://software.intel.com/android/articles/installation-instructions-for-intel-hardware-accelerated-execution-manager-windows
可能是用来管理硬件加速的,需要调整BIOS,我在mac上运行的Win10,就先不折腾了。
后来换了台联想笔记本在Win10直接安装SDK,就没有报错了。 - 打开工程,该过程中首先会下载Gradle,打开后报错。需要继续下载SDK
- 在打开Android Studio之前,首先要执行脚本proj.android\build_native.py。目的是将Cocos2d的C/C++代码编译成静态链接库。
执行过程中报错
C:\Users\Mara\Desktop\client\cocos2dx-quick\/quick/lib/quick-src/lua_extensions/lpack/lpack.h:24:10: fatal error:
'/Users/lsm/Development/android-ndk-r10e/sources/android/support/include/iconv.h' file not found
#include "/Users/lsm/Development/android-ndk-r10e/sources/android/support/include/iconv.h"
修改C:\Users\Mara\Desktop\client\cocos2dx-quick\quick\lib\quick-src\lua_extensions\lpack\lpack
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
//#include "/Users/lsm/Development/android-ndk-r10e/sources/android/support/include/iconv.h"
#include "C:\Users\Mara\Documents\Android-Dev\android-ndk-r10d\sources\android\support\include/iconv.h"
#endif
- 签名
可以用管理员身份在cmd中用keytool生成签名文件,也可以在android studio中选择“Build - Generate Signed APK”,创建一个jks文件,然后生成签名的apk。
V1,V2要同时选中。
问题1:
提示升级将Gradle由3.3升级到4.4之后,报错Gradle Sync error。只能退回到3.3
参考:
csdn:babestudio的专栏