1.前言
本篇将介绍网狐cocos2dx-lua工程打包android的apk、ios编译过程以及vs2015模拟运行和调试、lua脚本热更新。
关于网狐的服务端编译运行,请查看2.目录结构和地址修改
2.1.手机工程目录
-- client lua目录--------- ciphercode 加密后用来发布的lua代码--------- client 游戏大厅模块--------- game 子游戏模块--------- base lua与cocos c++衔接的基础模块-- frameworks--------- cocos2d-x cocos库--------- runtime-src cocos工程目录-- info 整理好的文档和批处理脚本-- publish 发布apk的目录
2.2.lua代码中配置修改
- 进入client目录。
- 查看修改base\src\app\models\AppDF.lua中,用来进行app更新和资源、脚本热更新的配置。BASE_C_VERSION(app版本)BASE_C_RESVERSION(资源版本,包括lua脚本、图片等)
- 修改basesrcappviewsWelcomeScene.lua中URL_REQUEST -> "http://172.16.58.129"
- 修改clientsrcplazamodelsyl.lua中LOGONSERVER -> "172.16.58.129"SERVER_LIST -> { "172.16.58.129", }
3.环境准备
以下各环境版本为笔者测试通过的,大家可以看情况更新。
3.1.windows环境
windows环境主要用于资源打包发布(publish)、安卓apk打包(android)和vs2015模拟运行和调试(debug)。
- Win7
- Cocos2dx-3.10(publish、android)Cocos_3.10.exeCOCOS_CONSOLE_ROOT -> C:\cocos2d-x-3.10\tools\cocos2d-console\binPATH -> %PATH%;%COCOS_CONSOLE_ROOT%
- Jdk1.8(android)JAVA_HOME -> C:Program FilesJavajdk1.8.0_131CLASSPATH -> %JAVA_HOME%lib;%JAVA_HOME%libtools.jar
- WinRAR(publish)PATH -> %PATH%;C:Program FilesWinRAR
- Python2.7(publish)PATH -> %PATH%;C:Python27
- Ant1.9.6(android)ANT_ROOT -> %ANT_HOME%binANT_HOME -> C:apache-ant-1.9.6PATH -> %PATH%;%ANT_HOME%binCLASSPATH -> %ANT_HOME%lib
- AndroidSDK(android)adt-bundle-windows-x86-20140624ANDROID_SDK_ROOT -> C:sdk
- AndroidNDK(android)android-ndk-r10d-windows-x86_64NDK_HOME -> C:android-ndk-r10dNDK_ROOT -> C:android-ndk-r10d
- VS2015(debug)vs lua语法插件
3.2.mac环境
- mac 10.11
- xcode 7.2.1 高版本会有问题,可自行解决
4.发布资源、脚本,网站后台增加手机游戏。
- 环境准备,
- info目录下,提供了一键发布资源脚本(发布资源.bat),执行即可。
- 将clientciphercode下的文件夹复制到网站前台目录下的download目录(没有则自己创建)。
- 进入网站后台->网站系统->站点配置->移动大厅。按字段说明填写,下载地址如下图,大厅版本和资源版本在2.2中提到了。
- 网站后台->系统维护->游戏管理->手游->新增。模块名称即子游戏在client\game\下的路径,用"."分割。
- 关于热更新。修改2.2中提到的资源版本号后,重新发布资源到前台网站download目录下,然后在网站后台,修改移动大厅为刚刚修改号的资源版本号即可。
5.windows环境下,安卓打包
- 修改文件frameworks\runtime-src\proj.android\ant.properties,中keystore的路径。关于keystore的作用可以自行搜索了解。
- info目录下,提供了一键打包脚本(发布debug版.bat、发布release版.bat)会发布数到publish路径下。注意查看info目录下的GloryProjectR.bat,其中关键的打包命令
call cocos compile -p android --ap android-20 -m release -j 4
,需要确保sdk中要有命令中使用的sdk版本。 - 将apk放到前台网站的download目录下。apk的名称需要相应修改,因为代码中写死了名称。
6. mac环境下,ios编译
因为笔者没有证书,无法进行打包,就简单说明编译过程。需要注意因为网狐使用到的一个第三方支付sdk(竣付通),而该sdk不支持x86_64架构,所以当编译目标为模拟器时,将编译失败,需要使用真机进行编译调试。
- 发布资源(info目录下LuaiOSPackage.sh,作用类似发布资源.bat)。
- 使用xcode打开frameworks/runtime-src/proj.ios_mac/GloryProject.xcodeproj。
- 手机连接电脑,并在手机上选择信任。
- xcode点击编译即可,完成会在手机上安装app,打开即可。
7. windows环境下,vs2015模拟运行和调试
- 使用vs2015打开frameworks\runtime-src\proj.win32\GloryProject.sln解决方案。
- 选择debug配置,编译。生成GloryProject.exe,以此作为lua解释器。
-
使用以下命令即可运行手机项目。WORKDIR为client目录路径,game为GloryProject.exe路径。
set WORKDIR=%CD%/client set game=%CD%/run/debug/GloryProject.exestart %game% -workdir %WORKDIR%
- 关于调试,右键GloryProject项目->属性->调试。命令即GloryProject.exe的路径(同链接器中中输出文件的路径),命令参数即配置lua代码client目录,工作目录即生成的GloryProject.exe所在目录,完成。
- 安装完babelua-compat-1.06-vs2015后,vs菜单栏会多一个Lua选项,点击该选项->New Lua Project。点击ok后,因为会创建client目录的索引,clinet目录下文件特别多,所以会很卡,要么等,要么把子游戏目录game下的游戏删一些。Lua scripts folder -> lua脚本client目录Lua exe path -> GloryProject.exe路径Working path -> lua项目vs解决方案存放路径Command line -> 同上3Lua project name -> 名称
- 点击本地Windows调试器,即可。c++代码和lua代码均可断电调试了。