Cocos Creatorcocos creator

关于creator的热更新方案

2019-03-12  本文已影响74人  人气小哥
  1. 参考官方文档
    热更新管理器 AssetsManager
    https://docs.cocos.com/creator/manual/zh/advanced-topics/assets-manager.html?h=%E7%83%AD%E6%9B%B4%E6%96%B0

资源热更新教程
https://docs.cocos.com/creator/manual/zh/advanced-topics/hot-update.html?h=%E7%83%AD%E6%9B%B4%E6%96%B0

看完后 基本明白了热更新机制
下载官方示例 怎么做也跑不起来

  1. 参考其他人的教程
    https://www.cnblogs.com/lyonwu/p/10432822.html
    https://www.jianshu.com/p/cec263b6b9ac

  2. 反复验证 1.0.0.0 升级 1.0.0.1 再升级 1.0.0.2 流程

  3. 有时候会热更新失败 具体原因还不知道 可能需要每次都重新构建

  4. 后期拷贝main.js 考虑用ipc方案 或者 改原生引擎底层的main.js 使每次热更新之后 都有热更新的main.js代码
    (ipc貌似是插件的工作方式了 没空研究了 为了避免 我改了底层的C:\CocosCreator\resources\static\build-templates\shares\main.js) 并且我把原生的main.js拷贝出来 我做了备份

还有几个关键的点

  1.  cmd运行
    

    catalina startup
    catalina start
    启动tomcat服务器
    tomcat 存放服务器资源的完整路径
    F:\cocos\apache-tomcat-9.0.16\webapps\ROOT\remote-assets


    tomcat存放服务器资源

正式上线 这里填正式服务器路径即可

  1. 关于官方提供的version_generator.js
    范例
    node version_generator.js -v 1.0.0 -u http://your-server-address/tutorial-hot-update/remote-assets/ -s native/package/ -d assets/
    实际
    node version_generator.js -v 1.0.0 -u http://localhost:8080/tutorial-hot-update/remote-assets/ -s build/jsb-default/ -d assets/
    node version_generator.js -v 1.7.0 -u http://192.168.1.161:8080/remote-assets/ -s build/jsb-default/ -d assets/

    最终
    node version_generator.js -v 1.7.0 -u http://192.168.1.161:8080/remote-assets/ -s build/jsb-link/ -d assets/

    生成了
    E:\MyCreator209\tutorial-hot-update-master\assets\version.manifest
    文件内容
    {"packageUrl":"http://localhost:8080/tutorial-hot-update/remote-assets/","remoteManifestUrl":"http://localhost:8080/tutorial-hot-update/remote-assets/project.manifest","remoteVersionUrl":"http://localhost:8080/tutorial-hot-update/remote-assets/version.manifest","version":"1.0.0"}

    本地
    http://127.0.0.1:8080/remote-assets/project.manifest
    实际
    http://192.168.1.161:8080/remote-assets/project.manifest
    手机浏览器需要能够通过以上网址查到文件数据
    才能保证热更(路径正确)

3.项目构建 需要先安装android studio 并且安装sdk 和 ndk
期间可能还需要安装java
sdk路径
C:\Users\Administrator\AppData\Local\Android\Sdk

ndk路径 C:\Users\Administrator\AppData\Local\Android\Sdk\ndk-bundle

  1. 一段windows版本的代码 但是我没试过
    if(cc.sys.os == "Windows"){
    console.log("getDefaultResourceRootPath:"+jsb.fileUtils.getDefaultResourceRootPath());
    jsb.fileUtils.setWritablePath(jsb.fileUtils.getDefaultResourceRootPath());
    }
上一篇 下一篇

猜你喜欢

热点阅读