本文主要是介绍InjectFix真机热修复报错can not load method xxx,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
真机在进行热修复的时候,出现了can not load method xxx的报错。
具体报错的方法是Resources.FindObjectsOfTypeAll,该函数是在[Patch]修复的方法内调用的,本地跑可以正常运行,并且点击Fix可以正常生成补丁包。但是实际到真机上的时候,修复的时候报错can not load method Resources.FindObjectsOfTypeAll,不能正常应用补丁。
去作者的git仓库的issues #33 找到了相关问题的解答,下面是作者的回复:
所以修复失败的原因是被修复的包体原来没有调用Resources.FindObjectsOfTypeAll,Unity在打包的时候把对应的方法给裁剪掉了。关于裁剪代码,相关选项是Build Settings->Player Settings->Strip Engine Code。想要避免部分函数被裁剪,可以参考关于Unity配置link.xml相关的内容
这篇关于InjectFix真机热修复报错can not load method xxx的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!