老游戏接入hybird的思路整理与备忘录

程序集整理相关

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:不同的平台的程序集可能不一样,需要选择不同的目录结构。


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言:主要记录了在接入华佗热更新中的一些思考和对整个项目的设计,当然也包括接入过程中的一些坑。希望可以给需要接入热...
    vectorZ阅读 31,705评论 0 7
  • 本文原创版权归 博客园吴秦所有,此处纯粹技术收藏,如有再转,敬请于显示位置标明原创作者及出处,以示尊重!! 作者:...
    Magic_Dong阅读 4,602评论 0 7
  • 《腾讯桌球:客户端总结》 本次分享总结,起源于腾讯桌球项目,但是不仅仅限于项目本身。虽然基于Unity3D,很多东...
    吴秦阅读 24,752评论 12 142
  • 引言 最近看了一下 ET 框架,本来只是研究一下网络模块,后来抽时间看一下热更框架。ET 的热更使用的不是像 to...
    忆中异阅读 4,114评论 0 4
  • 物理内存虚拟内存的关系、堆栈、 比如工作环境,薪资待遇,要不要加班,主要工作内容,要用到什么技术,团队有没有什么缺...
    nlpjoe阅读 1,258评论 0 8