服务器系统热更新,RN用自己的服务器热更新

不使用第三方,用自己的服务器更新。

RN的热更新其实就是替换App加载的js包,更新分为全量更新和增量更新;

全量更新很简单,就是下载js包存到本地,下次APP读取新的路径;

增量更新需要用到bsdiff第三方工具,bsdiff有分离和合并2个方法;  bsdiff用分离方法 将新旧文件(jsbundle_orgin,jsbundle_new)生成一个差异文件(简称patch包),将patch包放在服务器上供App下载;

App下载后再用bsdiff的合并方法将本地的原始jsbundle和patch包合并成新的jsbundle,存在本地,下次App启动就            读取新的路径;

上代码:

分包:Mac可以使用终端命令,直接敲bsdiff回车,使用方法,会有提示bsdiff: usage: bsdiff oldfile newfile patchfile,生成的patch文件可以上传到自己的服务器,如果太大可以再压缩成zip;

合包:下载bsdiff, 可以参考现成的RN中文网的更新代码,注意将里面的bspatch.c文件替换成刚刚下载的bspatch.c,把bspatch.c里面的err函数改为return -1;err函数会触发App崩溃;更新代码逻辑需要花点时间慢慢看;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值