[LayaAir 2.0]如何更新appcache的资源

我尝试自己写一个热更新模块,native底层好像只开放了这个接口,
  1. /**
  2. * 更新dcc缓存中的一个文件
  3. * @param nameid 更新的文件的id。
  4. * 路径规则:/,表示app根目录。例如:hashstr('/index.html'), 不要带参数,如果带参数的话-- hashstr('/aa/bb.htmlff=2') 会导致谁也找不到这个文件
  5. * @param chksum 校验码,如果0则此函数自己计算。如果是外部版本控制,则这个是hashstr后的版本号。
  6. * @param buf ArrayBuffer 文件内容。
  7. * @param extversion 是否使用外部版本号
  8. * @return boolean 如果返回true则表示更新成功,否则的话,表示校验码不一致,即
  9. * 先要更新dcc才能工作。
  10. */
  11. updateFile(nameid:number,chksum:number,buf:ArrayBuffer,extversion:boolean):boolean; 
  12.  

官网描述 路径规则:/,表示app根目录。例如:hashstr('/index.html')
所以我尝试几种写法去更新文件,一直没有变化
1、let filePath = "/cache//LayaCache//appCache/9ea141a6/" + sourceFilename.substring(0, 2) + "/" + sourceFilename.substring(2);即 :/cache//LayaCache//appCache/9ea141a6/6a/b7299a
6ab7299a是文件的编码
let fid1 = cache.hashstr(filePath);会产生一个新的目录跟文件37/13ee94
2、cache.hashstr(“/” + 6ab7299a); update失败
3、cache.hashstr(“/” + “js/bundle.js”); update失败
有谁知道这个函数怎么用的
已邀请:

vison123

赞同来自:

我主要是想修改指定文件即可,没有校验码
cache.updateFile(fid1, 0, buff, true)) 并不起效

要回复问题请先

商务合作
商务合作