华佗huatuo热更遇到问题汇总

Posted Chen_Fen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华佗huatuo热更遇到问题汇总相关的知识,希望对你有一定的参考价值。

华佗【huatuo】热更遇到问题汇总

华佗_github_地址

华佗(huatuo)包安装

在unity项目的packages目录的manifest.json增加


	"dependencies": 
	
	,
  	"scopedRegistries": 
  	[
    	
      		"name": "package.openupm.cn",
      		"url": "https://package.openupm.cn",
      		"scopes": 
      		[
        		"com.focus-creative-games.huatuo"
      		]
		
  	]

然后去Unity Editor的PackageManager中安装就可以了。

避免写RefTypes的方法(该方法有效,但不知道是否有副作用)

感谢Don`t worry提供的方法

1.unity版本(2020.3.33f1)
2.找到HuaTuo_BuildProcessor_2020_1_OR_NEWER.cs文件
3.增加 IIl2cppProcessor 接口并按下面的方法实现 OnBeforeConvertRun 和修改 OnFilterAssemblies 两个函数

 public class HuaTuo_BuildProcessor_2020_1_OR_NEWER : IPreprocessBuildWithReport,IIl2CppProcessor
#if UNITY_android
        , IPostGenerateGradleAndroidProject
#else
        , IPostprocessBuildWithReport
#endif
        , IProcessSceneWithReport, IFilterBuildAssemblies, IPostBuildPlayerScriptDLLs, IUnityLinkerProcessor
    
    	public void OnBeforeConvertRun(BuildReport report, Il2CppBuildPipelineData data)
        
            try
            
                foreach (var name in s_allHotUpdateDllNames)
                
                    File.Move("Temp/StagingArea/Data/Managed/" + name, "Temp/StagingArea/Data/Managed/_cheat_" + name);
                
            
            catch (Exception e)
            
                throw new BuildFailedException(e);
            
        
        
		 public string[] OnFilterAssemblies(BuildOptions buildOptions, string[] assemblies)
        
            return assemblies;
            // 将热更dll从打包列表中移除
            //return assemblies.Where(ass => s_allHotUpdateDllNames.All(dll => !ass.EndsWith(dll, StringComparison.OrdinalIgnoreCase))).ToArray();
        
    

原创Huatuo热更框架之手把手部署

概述 huatuo是一个特性完整、零成本、高性能、低内存的近乎完美的Unity全平台原生c#热更方案。使用起来比较简单,但是依然有朋友感觉步骤有点多,下面我将以unity3d 2020.3.33f1c2为例手把手教大家如何在windows下部署huatuo环境并将官方提供的demo运行起来。 Uni

以上是关于华佗huatuo热更遇到问题汇总的主要内容,如果未能解决你的问题,请参考以下文章

为什么这么NB?huatuo革命Unity热更新

Unity 游戏用XLua的HotFix实现热更原理揭秘

unity 代码热更+资源管理框架总结

如何评价腾讯在Unity下的xLua热更方案

Lua用于游戏运行期热更(不重启游戏客户端)

游戏开发探究Unity Addressables资源管理方式用起来太爽了,资源打包加载热更变得如此轻松(Addressable Asset System | 简称AA)