1.爬坑篇
(1) 参考官方文档进行下载Demo,官方给的下载地址GitHub 仓库
(2) 下载后打开demo发现和官方文档上演示版本不一样,原因是下载的不是最新版本demo
老版本
官方演示版本
(3) 作者下载使用版本
2.实战篇
版本号:旧版号V1.0.0
新版本V1.2.0
先来生成新版本用于上传服务器实现热更新,版本号为V1.2.0
先打开项目设置-->模块设置-->是否打包勾选上
a.设置新版本内容,我这里新增加了一张图片,外加官方跳转到table场景,新版本完成后进行项目构建
b.项目构建完成后,进行生成热更新配置清单,官方给了一个version_generator.js文件用于生成配置文件
b-1. 打开官方项目后根目录下会有该文件
b-2. 需要用到nodejs进行生成配置清单(如果没有安装nodejs我就不知道了),在该目录下按住Shift键点击鼠标右键选择“在此打开PowerShell窗口”
然后使用“node version_generator.js -v 1.2.0 -u https://www.zhitaTest.com/hotUpdate/ -s build/jsb-default/ -d assets”命名进行生成project.manifest文件与version.manifest文件
需要注意的是:-v 后面是版本号
-u是你要获取资源的地址(我这里演示地址为假的)
-s 是你构建的项目目录
-d 是你要生成文件的目录
表示文件以及生成
c.文件生成后拖拽到Canvas组件脚本上的HotUpdate上面的ManifestUrl上,再次进行构建发布
d.项目构建完成后进行文件上传到服务器,需要上传的文件有构建项目下的 src 、res两个文件夹以及刚刚生成的project.manifest文件与version.manifest文件
此刻最新版本V1.2.0已经上传到服务器,现在需要制作旧版本即1.0.0
e.删除图片以及table场景
f.删除以后进行项目构建发布
g.项目构建成功后使用nodejs进行project.manifest文件与version.manifest文件的生成即第b步,这里需要把版本号修改成V1.0.0
h.文件生成以后进行拖拽到组件脚本上再次进行项目构建即第c步
最后一步是在打包生成的目录下找到main.js进行添加搜索热更新资源文件夹
// 在 main.js 的开头添加如下代码
if (jsb) {
var hotUpdateSearchPaths = localStorage.getItem('HotUpdateSearchPaths');
if (hotUpdateSearchPaths) {
jsb.fileUtils.setSearchPaths(JSON.parse(hotUpdateSearchPaths));
}
}
本人被热更新搞了两天,现在记录下过程希望对大家有用,大佬莫喷