自定义打包小游戏的build template,接入SDK,
CocosCreator版本是2.2.1,打包发布oppo,vivo,小米,百度,魅族。
oppo
修改引擎目录的resources/buildin/oppo-runtime/build-runtime.js,加了个方法
function handleSdk(dir) { var path = getResPath('sdk'); var dirJsbAdapter = path.join(dir, 'sdk'); if (fs.existsSync(dirJsbAdapter)) { fs.removeSync(dirJsbAdapter); } fs.copySync(rtAdapterPath, dirJsbAdapter); }
在onBeforeBuildFinish里调用了这个方法,这样就能把shsdk中的自定义脚本导入到rpk包中以便引用,自定义main.js,在window.boot方法中require('shsdk/sdk.js')即可使用sdk提供的接口。
打包得到的rpk包放在手机games文件夹,用快应用工具调试即可。
vivo
引擎目录的resources/buildin/vivo-runtime/build-runtime.js,在handleBeforeBuild方法里加了行
moveSync(path.join(dirTarget, 'sdk'), path.join(zipRootPath, 'sdk'));
自定义main.js同上。
vivo手机安装快应用框架后,如果通过快应用调试器无法调试rpk包。按照Cocos官方文档提供的办法,cmd进入到qgame目录,(node环境)npm run server打开链接扫码即可,再开一个cmd窗口npm run debug打开调试界面。
如果打包目录qgame中存在dist-temp而不是dist,首先确定安装了node环境和
npm install -g @vivo-minigame/cli
这个模块,若确定无误,目录中仍打出现dist-temp,cmd进入qgame目录下,执行npm run build即可获得详细错误日志。
小米
不用改什么,只不过main.js变成了boot.js。具体看官方文档。
百度
百度开发者工具会出些毛病,不影响。具体看官方文档。
魅族
cocos官方没有提供文档,但是魅族最后也是打包成rpk的。cocos选择web-mobile方式打包,然后按下面的文档操作。
https://shimo.im/docs/enni3mhvNyo5fZOm/read
笔者没有魅族手机无法使用魅族的SDK登录,但是能通过adb命令在华为手机上加载到登录界面。
魅族快游戏框架有个问题是字体会向上飘5px左右,在快游戏框架1064之后修复了。
UC小游戏
uc小游戏属于h5渠道,使用cocos打包选择web-mobile,之后需要将build/web-mobile目录下的图片用pngquant压缩,再整个压缩到zip文件中提供给渠道方。
bat命令
for /R %%i in (*.png) do ( pngquant --ext .png --force --verbose --quality=30-85 "%%i" )