版本 v3.8.1
我做了个用于热补丁的场景:HotfixScene,这个场景的脚本构建后会生成到 assets/main/index.js 里。
理论上,如果我更新了HotfixScene的脚本,那对应的index.js也会被下载到我设置的local storage里,然后在下一次启动游戏的时候,会使用新的脚本; 但是实际上不会,用的还是老的脚本。
我在HotfixScene脚本的 onLoad 里用 jsb.fileUtils.getSearchPaths() 看到的SearchPath里确实包含了local storage的路径。
疑惑的还有一点,热更新文档里一直强调,要保存local storage的路径,并且在启动脚本main.js里插入一段代码,将保存的的路径添加到SearchPath头部,这样才能启用更新的内容。 我能理解这样操作的必要性,但是即使我没写这样代码,当热补丁完成以后,我发现SearchPath里已经包含了local storage的路径了,重新启动游戏后也是包含的,而且确实更新的资源和脚本都是有效的,除了HotfixScene这个特例(assets/main/index.js)。
补充说明下,我只有HotfixScene脚本和对应的场景图片资源没有设置bundle,其他的游戏资源和脚本都在一个bundle里


?开发者遇到的情况很多,应用场景也很广。按需调整代码