程序集整理相关
1:sqlite3 平台包含选择错误
2:处理scene_worldCity图集异常。
3:添加本地插件hybridclr 3.1.0。
4:移动GameFrame、Ugame、Uframework、Protocol到程序集。
5:处理GameFrame里的editor代码,移除到外部Asset/Editor目录。
6:处理EasyTouchBundle插件 、-分拆Runtime与Editor。
7:处理spine插件-分拆Runtime与Editor。
8:处理Xlua插件-分拆Runtime与Editor。
9:移动到SQLite4Unity3d、Lame、OBBDownloader到程序集。
10:处理谷歌Signin插件、FacebookSDK插件。
11:处理UDatatableManager的位置。
12:处理Localization文件夹的位置。
13:因为有大量的 internal 函数,必须移动位置Spine,Xlua改translator为public。
14:处理遗漏的Editor代码 MobileTouch、InspectorExtension等额外的代码 。
15:处理路径错误的代码、处理打包xlua工具编辑器的代码。
16:xlua属性大部分属性访问异常,需要移动到程序集内。
17:处理GooglePlayGame-Runtime、UniClipboard插件。
18:版本机出真机、本地出真机包验证(IOS上打包不行,系统版本问题、库编译问题等,window版本出包可以)。
19:删除MaincityTest。
20: TDEditor_src移动位置。
对于程序集交叉引用的确定方法:
由于编辑器下无法根据堆栈导致错误显示交叉引用代码,只会显示链接出错。所以要先删除需要更新的程序集,单独编译AOT程序集,修复除引用丢失外的错误即可。
程序集加载相关
1:添加入口函数,移动GameFramework位置,处理主lauch场景里的gameFramework资源,需要动态加载。
2:添加HybridCLR_Editor,保证一些基本流动的稳定性。添加自动化COPY功能。
3:主程序集添加loadDLL节点。添加入口函数初始化gameFramework。
4:补充元数据AOT-DLL,mscorlib,System,System.Core。
5:调整编辑器程序集引用问题,解决gameFramework引用丢失问题。
程序集工具相关
1:修改程序集相关加载
2:升级smartFox
3:处理XmlAttribute
4:遇到ExecutionEngineException:method body is null. xxx::yyyy,在热更新中定义了extern函数,这暂时不支持。解决办法是将extern函数移到AOT部分。
5:特殊修改xlua的位置,因为交叉引用,需要特殊提炼代码。
6:修改lame的插件位置。提交中间文件20230704
7:遇到错误,尝试修正MissingMethodException: AOT generic method isn't instantiated in aot module xxx
8:遇到错误,尝试修正LuaException: Framework.UI.Base.UINode:13: attempt to call a nil value (method 'IsNotNull')
9:遇到错误,lua无法访问到public static bool IsNotNull(this UnityEngine.Object o)函数,尝试解决
10:遇到错误,Hybrid 不支持 GetCompent(“xxxx”) 的使用方式,需要统一改成GetCompnent(typeof(CS.xxx.xxx))
11:遇到错误,MissingMethodException: AOT generic method not instantiated in aot.
程序集打包、热更、异常相关
1: 打ab的脚本里加入dll的生成、md5的生成、zip的生成。
2:修改程序集相关加载、拷贝、对比md5、保存等操作。
3:修改部分Editor代码结构
4:www尝试次数
5: 逻辑类分拆
6:try catch 异常处理
7:不同的平台的程序集可能不一样,需要选择不同的目录结构。