美文网首页
Cocos Creator 3.1.1 热更新操作流程

Cocos Creator 3.1.1 热更新操作流程

作者: isletn | 来源:发表于2021-06-07 19:17 被阅读0次

1.0.0

  1. 在原始项目中创建一个用于热更的脚本HotUpdate.ts(官方Demo里有现成的可以参考或者直接用);

  2. 构建原始项目,使用 version_generator.js 配合如下命令生成 version.manifest 与 project.manifest(版本号灵活调整),放到项目工程目录 Asset 文件夹下。

node version_generator.js -v 1.0.0 -u http://192.168.31.169:8000/tutorial-hot-update/remote-assets/ -s /Users/ivy/CocosProject/HelmetDeep/build/ios-009/assets -d assets/
  1. 将 HotUpdate.ts 挂在项目的入口页面,如下:


    image.png
  2. 项目->构建发布->构建;生成原生工程后,修改main.js,在头部加入路径逻辑:
(function () {
    if (typeof window.jsb === 'object') {
        var hotUpdateSearchPaths = localStorage.getItem('HotUpdateSearchPaths');
        if (hotUpdateSearchPaths) {
            var paths = JSON.parse(hotUpdateSearchPaths);
            jsb.fileUtils.setSearchPaths(paths);

            var fileList = [];
            var storagePath = paths[0] || '';
            var tempPath = storagePath + '_temp/';
            var baseOffset = tempPath.length;

            if (jsb.fileUtils.isDirectoryExist(tempPath) && !jsb.fileUtils.isFileExist(tempPath + 'project.manifest.temp')) {
                jsb.fileUtils.listFilesRecursively(tempPath, fileList);
                fileList.forEach(srcPath => {
                    var relativePath = srcPath.substr(baseOffset);
                    var dstPath = storagePath + relativePath;

                    if (srcPath[srcPath.length] == '/') {
                        cc.fileUtils.createDirectory(dstPath)
                    }
                    else {
                        if (cc.fileUtils.isFileExist(dstPath)) {
                            cc.fileUtils.removeFile(dstPath)
                        }
                        cc.fileUtils.renameFile(srcPath, dstPath);
                    }
                })
                cc.fileUtils.removeDirectory(tempPath);
            }
        }
    }
})();

也可以通过插件自动完成添加的操作,步骤如下:
(1)下载官方Demo,将 extension 文件夹放到自己项目的根目录下,如图所示


image.png

(2)重启cocos 编辑器,打开扩展->扩展编辑器->项目,即可看到刚才添加的插件,插件启动即代表往 main.js 添加代码的逻辑会在以后每次构建后生效


image.png

1.0.1

  1. 修改项目
  2. 项目->构建发布->构建,生成原生工程后,执行步骤2(灵活修改版本号与原生工程路径)生成 version.manifest 与 project.manifest
  3. 带开新版本原生工程,将 assets 与 src 文件夹, 连同步骤6生成的两个 manifest 文件一起放入远程服务器的热更路径下


    原生工程目录
    远程服务器热更路径

验证

  1. 启动1.0.0版本,验证热更是否生效

相关文章

网友评论

      本文标题:Cocos Creator 3.1.1 热更新操作流程

      本文链接:https://www.haomeiwen.com/subject/dualeltx.html