当前位置: 首页 > 软件库 > 程序开发 > 常用工具包 >

InjectFix

Unity 代码逻辑热修复方案
授权协议 MIT
开发语言 C#
所属分类 程序开发、 常用工具包
软件类型 开源软件
地区 国产
投 递 者 闾丘卓
操作系统 跨平台
开源组织 腾讯
适用人群 未知
 软件概览

InjectFix 是腾讯开源的 Unity 代码逻辑热修复方案,可实现在 Unity 线上客户端内,不用迭代新版本,就能快速修复游戏的线上 bug。可用于 Unity 业务的 bug 修复,支持 Unity 全系列、全平台。

几个亮点

  • 直接在 Unity 工程上修改 C# 代码即可更新
  • 老项目无需修改原有代码即可使用
  • 每个游戏一份私有补丁格式,安全更有保障

安装

编译

  • Windows 下打开源码包的 Source\VSProj\build_for_unity.bat,UNITY_HOME 变量的值修改为指向本机 Unity 安装目录
  • 运行 build_for_unity.bat

复制

这里对应的是一个 Unity 工程目录

  • IFixToolKit 拷贝到 Unity 项目的 Assets 同级目录
  • Assets/IFix,Assets/Plugins 拷贝到 Unity 项目的 Assets 下

快速入门

  • IFix使用手册 [IFix.Patch] 用途 ​ 在补丁阶段使用;原生代码修复。如果发现某个函数有错误,就可以使用该标签给函数打补丁,打上这个标签的函数,童鞋们就可以随意修改该函数。 用法 ​ 该标签只能用在方法上,直接在要修改的函数上面标注一下这个标签即可。 举例 ​ 这个函数本来的意思是两个值相加,但现在写错了,所以可以给该函数打上[IFix.Patch]标签,然后修改就可以了 publi

  • 执行Patch for android或者Patch for ios时,报“"please put template file for android/ios in IFixToolKit directory!” 解决这个错误需要制作一个编译模版文件放到IFixToolKit目录: 假如你制作的是android的模版,请执行一次普通的android构建,在构建的过程中,到“工程目录/Temp”目录

  • 前期准备  InjectFix/README.md at master · Tencent/InjectFix · GitHub https://github.com/Tencent/InjectFix/blob/master/Doc/example.md 在自己写的配置类配置好可能要热更的类 把东西都准备就绪之后,开始踩坑。 在本地测试,需要先进行Fix 把代码修改完,加完标签后 点击 Fix。

  • 一,准备工作 首先将附件内IFixToolKit工具放在和Assets同级目录下。之后将附件内IIFix文件夹放在Assets子目录内。最后将IFix.Core.dll放在Plugins目录下。 二,代码部分 IFix\Editor文件夹下放入自己游戏所需的配置文件,代码如下: using System.Collections.Generic; using IFix; using System;

  • 快速入门 接入示例 判断有补丁就加载补丁 var patchPath = "./Assets/IFix/Resources/Assembly-CSharp.ill.bytes"; if (File.Exists(patchPath)) { PatchManager.Load(new FileStream(patchPath, FileMode.Open)); } 配置 热补丁的实现依赖于提

  • 背景 腾讯继Xlua后推出的开源热更新项目, Unity代码逻辑热修复 可用于Unity业务的bug修复,支持Unity全系列,全平台。   几个亮点 直接在Unity工程上修改C#即可更新 老项目无需修改原有代码即可使用 每个游戏一份私有补丁格式,安全更有保障 安装 编译 Window下打开源码包的Source\VSProj\build_for_unity.bat,UNITY_HOME变量的值修

  • 以配套的Helloworld为例,编辑器下演示IFix的使用 一、准备工作 Helloworld位于IFix目录下 其中Calc.cs就是待修复的代码,Helloworld.cs是Calc.cs的测试。 运行一下Helloworld的场景,看下控制台的打印,可以看到Calc.cs是错误的。 二、配置 和xLua类似,你得配置下要预处理的代码,预处理过的代码才可能在运行时切换到补丁代码。 [Conf

  • 安装 打开Source\VSProj\build_for_unity.bat,然后UNITY_HOME改成你自己Unity对应版本的路径。 执行build_for_unity.bat(不执行你Plugins文件只有一个meta文件)、然后将IFixToolKit拷贝到Assets同级目录,Assets/IFix和Assets/Plugins拷贝到Assets下。 使用及限制 使用很简单就是先Inj

 相关资料
  • 随着应用程序的增长,在 reducer 逻辑中开始出现一些常见的模式。你可能会发现一部分 reducer 逻辑对于不同类型的数据做着相同的工作,你想通过对每种数据类型复用相同的公共逻辑来减少重复的代码。或者,你可能想要在 store 中处理某个类型的数据的多个”实例“。然而,Redux store 采用全局结构的设计本身就是一种折衷:优点是易于追踪应用程序的整体状态,但是,也可能更难的”命中“那些

  • 我在卡桑德拉的一个表中插入了10K个条目,该表在单个分区下的TTL为1分钟。 成功插入后,我尝试从单个分区读取所有数据,但它引发了如下错误:, 我知道墓碑是一个标记,而不是实际删除。 所以我使用节点工具进行了压缩和修复 即使在那之后,当我从表中读取数据时,它也会在日志文件中抛出相同的错误。 1)如何处理这种情况? 2)能解释一下为什么会发生这种情况吗?为什么压实和修复没有解决这个问题?

  • 2(名)-约翰 3(型号)-客车 4(attr_hash)-由java哈希代码计算

  • 本文向大家介绍java代码执行字符串中的逻辑运算方法,包括了java代码执行字符串中的逻辑运算方法的使用技巧和注意事项,需要的朋友参考一下 方式一 这种方式使用js的方式进行运算,使用较简单,但是当运算double类型的四则运算时结果会出现循环小数,运算结果会出现问题. 方式二(能够保证四则运算精度): 以上这篇java代码执行字符串中的逻辑运算方法就是小编分享给大家的全部内容了,希望能给大家一个

  • 在我正在编写的程序中,只有当我有一个

  • 在 OpenResty 中,提及热加载代码,估计大家的第一反应是 lua_code_cache 这个开关。 但 lua_code_cache off 的工作原理,是给每个请求创建一个独立的 Lua VM。即使抛去性能因素不谈,考虑到程序的正确性,也不应该在生产环境中关闭 lua_code_cache。 那么我们是否可以在生产环境中完成热加载呢? 代码有变动时,自动加载最新 Lua 代码,但是 Ng

  • 一、概述 最新github上开源了很多热补丁动态修复框架,大致有: https://github.com/dodola/HotFix https://github.com/jasonross/Nuwa https://github.com/bunnyblue/DroidFix 上述三个框架呢,根据其描述,原理都来自:安卓App热补丁动态修复技术介绍,以及Android dex分包方案,所以这俩篇务

  • 如何在我的Apple类中生成BigDecimal?现在我只有一个字节缓冲符。。。。 使用Avro模式(avsc): 使用IDL: 使用maven生成方法mvn clean compile和以下maven代码段: 这两种方法都返回了这个丑陋的方法,显然几乎无法使用。。。 如何使此方法请求BigDecimal?这是使用Avro