游戏热更思路

打包出来的app需要包括以下核心信息配置:

  1.代码版本号

  2.资源版本号

  3.平台配置表地址:

    Android:      (1)代码地址(2)资源地址

    IOS:            (1)代码地址(2)资源地址

    Windows:         (1)代码地址(2)资源地址

    TGP Android:   (1)代码地址(2)资源地址

    blibli游戏中心 IOS:(1)代码地址(2)资源地址

  4.特殊平台配置(可不配置):(例)TGP Android  或 (例)blibli游戏中心 IOS...

运行游戏之后,会先访问平台配置表地址,优先选择特殊平台对应的地址,如果特殊平台配置没填,则根据当前操作系统选择对应平台地址。

 

资源热更:

资源地址包含:完整的ab包资源 + 一份记录所有AB包MD5码信息文件(热更时通过对比本地与服务器最新的MD5码文件,确定需要热更的AB包)

 

代码热更:

1.ILRuntime(加功能+修bug)

原理:ILRuntime借助Mono.Cecil库来读取DLL的PE信息,以及当中类型的所有信息,最终得到方法的IL汇编码,然后通过内置的IL解译执行虚拟机来执行DLL中的代码。

官网:https://ourpalm.github.io/ILRuntime/public/v1/guide/index.html

入门笔记:https://www.cnblogs.com/zhaoqingqing/archive/2019/01/17/10274176.html

XIL使用ILRuntime实现类似xlua的功能:https://github.com/wuxiongbin/XIL

LRuntime来实现热更新的优与劣:https://www.jianshu.com/p/1659b7f251f9

2.XLua(仅修Bug,成本最低)

 

posted @ 2020-07-12 14:14  Don_Yao  阅读(416)  评论(0编辑  收藏  举报