https://www.ucloud.cn/yun/17209.html
1.前言
本篇将介绍网狐cocos2dx-lua工程打包android的apk、ios编译过程以及vs2015模拟运行和调试、lua脚本热更新。
关于网狐的服务端编译运行,请查看网狐6701/6801服务端编译 测试部署
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.exe
COCOS_CONSOLE_ROOT -> C:\cocos2d-x-3.10\tools\cocos2d-console\bin
PATH -> %PATH%;%COCOS_CONSOLE_ROOT%
Jdk1.8(android)
JAVA_HOME -> C:Program FilesJavajdk1.8.0_131
CLASSPATH -> %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%bin
ANT_HOME -> C:apache-ant-1.9.6
PATH -> %PATH%;%ANT_HOME%bin
CLASSPATH -> %ANT_HOME%lib
AndroidSDK(android)adt-bundle-windows-x86-20140624
ANDROID_SDK_ROOT -> C:sdk
AndroidNDK(android)android-ndk-r10d-windows-x86_64
NDK_HOME -> C:android-ndk-r10d
NDK_ROOT -> C:android-ndk-r10d
VS2015(debug)
vs lua语法插件babelua-compat-1.06-vs2015
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.exe start %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 -> 同上3
Lua project name -> 名称
点击本地Windows调试器,即可。c++代码和lua代码均可断电调试了。