InjectFix
腾讯InjectFix热更
Jack Yan
Unity开发;
Keep Reading , Keep Writing , Keep Coding.
展开
-
【InjectFix】04 官方案例
以配套的Helloworld为例,编辑器下演示IFix的使用一、准备工作Helloworld位于IFix目录下其中Calc.cs就是待修复的代码,Helloworld.cs是Calc.cs的测试。运行一下Helloworld的场景,看下控制台的打印,可以看到Calc.cs是错误的。二、配置和xLua类似,你得配置下要预处理的代码,预处理过的代码才可能在运行时切换到补丁代码。[Configure]public class HelloworldCfg{ [IFix] stati原创 2020-10-15 14:32:52 · 249 阅读 · 0 评论 -
【InjectFix】03 InjectFix FAQ
执行Patch for android或者Patch for ios时,报“"please put template file for android/ios in IFixToolKit directory!”解决这个错误需要制作一个编译模版文件放到IFixToolKit目录:假如你制作的是android的模版,请执行一次普通的android构建,在构建的过程中,到“工程目录/Temp”目录把UnityTempFile打头的文件都拷贝出来,其中一个“UnityTempFile开头”的文件就是你刚刚打原创 2020-10-15 14:15:21 · 449 阅读 · 0 评论 -
【InjectFix】02 IFix使用手册
IFix使用手册[IFix.Patch]用途 在补丁阶段使用;原生代码修复。如果发现某个函数有错误,就可以使用该标签给函数打补丁,打上这个标签的函数,童鞋们就可以随意修改该函数。用法 该标签只能用在方法上,直接在要修改的函数上面标注一下这个标签即可。举例 这个函数本来的意思是两个值相加,但现在写错了,所以可以给该函数打上[IFix.Patch]标签,然后修改就可以了public int Add(int a,int b){ return a*b;}[IFix.Pat原创 2020-10-15 14:12:17 · 2944 阅读 · 1 评论 -
【InjectFix】01 快速入门
快速入门接入示例判断有补丁就加载补丁var patchPath = "./Assets/IFix/Resources/Assembly-CSharp.ill.bytes";if (File.Exists(patchPath)){ PatchManager.Load(new FileStream(patchPath, FileMode.Open));}配置热补丁的实现依赖于提前做些静态代码插入,所以需要配置对哪些类预处理,配置了才能被修复。一般而言,只要不是性能要求很苛刻的原创 2020-10-15 14:09:34 · 477 阅读 · 0 评论 -
【InjectFix】00 Unity代码逻辑热修复 Unity下Bug修复神器,腾讯InjectFix开源啦!
Unity代码逻辑热修复可用于Unity业务的bug修复,支持Unity全系列,全平台。几个亮点直接在Unity工程上修改C#即可更新 老项目无需修改原有代码即可使用 每个游戏一份私有补丁格式,安全更有保障安装编译Window下打开源码包的Source\VSProj\build_for_unity.bat,UNITY_HOME变量的值修改为指向本机unity安装目录 运行build_for_unity.bat复制这里对应的是一个Unity工程目录IFixToolKit拷原创 2020-10-15 14:02:23 · 315 阅读 · 0 评论