Commit Graph

53 Commits (b977a85b233bdf3907777e127efd3c899cb45520)

Author SHA1 Message Date
walon aca7dd0a67 [new] 新增GeneratedAOTGenericReferenceExcludeExistsAOTClassAndMethods,计算热更新引用的AOT泛型类型和函数时排除掉AOT中已经存在的泛型和函数,最终生成更精准的补充元数据程序集列表 2024-05-30 13:08:24 +08:00
walon d431aeb019 [new] 支持MonoPInvokeCallback函数的参数或返回类型为struct类型
[fix] 修复ReversePInvokeWrapper函数定义未包含调用约定的bug
[refactor] 合并ReversePInvokeMethodStub到MethodBridge,同时将MetadataModule中ReversePInvoke相关代码移到InterpreterModule
2024-05-30 13:08:21 +08:00
walon 63d0aaa6e6 [opt] `Generate/All`在生成之前检查是否已经安装HybridCLR 2024-05-30 13:07:23 +08:00
walon 3de931a3af [opt] 打包时检查生成桥接函数时的development选项与当前development选项一致。`Generate/All`之后切换development选项再打包,将会产生严重的崩溃 2024-05-30 13:07:23 +08:00
walon fd81edb495 [fix] 解决StripAOTDllCommand生成的临时项目的locationPathName不规范导致与某些插件如Embeded Browser不兼容的问题 2024-04-12 00:35:09 +08:00
walon 12bafb897f [fix] 修复团结引擎1.1.0起删除TUANJIE_2022宏导致没有复制裁剪后的AOT程序集的bug 2024-04-10 10:32:23 +08:00
walon 2b42376505 [new] 新增对团结引擎 HMIAndroid、OpenHarmony、WeixinMiniGame平台的支持 2024-01-04 11:48:30 +08:00
Alan Liu c9ad6880cb 修复报错:BuildFailedException: Build path contains a project previously built without the "Create Visual Studio Solution" 2023-12-15 11:05:51 +08:00
walon 3df95d138d [change] StripAOTDllCommand导出时不再设置BuildScriptsOnly选项 2023-12-14 12:00:28 +08:00
walon d90faed922 [change] 删除不必要的Datas~/Templates目录,直接以原始文件为模板 2023-11-10 13:35:53 +08:00
walon 1bd27a3e22 [fix] 修复生成桥接函数时,如果热更新程序集未包含任何代码直接引用了某个aot程序集,则没有为该aot程序集生成桥接函数,导致出现NotSupportNative2Managed异常的bug 2023-10-08 13:27:23 +08:00
walon 1d50dfcb6e [fix] StripAOTDllCommand生成AOT dll时的BuildOption采用当前Player的设置,避免当打包开启development时, StripAOTDllCommand生成Release aot dll,而打包生成debug aot dll,产生补充元数据及桥接函数生成不匹配的严重错误 2023-09-10 13:22:33 +08:00
walon 1eaaf44c97 [fix] 修复不正确地从EditorUserBuildSettings.selectedBuildTargetGroup获得BuildGroupTarget的bug 2023-09-10 13:21:56 +08:00
walon 5857696b56 [change] 日志和异常文本换成英文,方便海外开发者 2023-08-30 11:07:12 +08:00
walon 9eb6dda71b [refactor] 重构桥接函数,彻底解决跨平台问题 2023-08-24 12:58:09 +08:00
walon 2f71bb515d [change] 调整CompileDll ScriptCompilationSettings设置相关代码 2023-06-27 08:58:08 +08:00
walon e45a789569 [change] 为Anaylizer加上using 限定,解决某些情况下与项目的类型同名而产生编译冲突的问题 2023-06-21 11:07:00 +08:00
walon 2f09f88ca2 [new] CompileDll新增MacOS、Linux、WebGL目标 2023-06-15 17:05:46 +08:00
walon c462aeb2ef [fix] 修复计算桥接函数时未考虑到补充元数据泛型实例化会导致访问到一些非公开的函数的情况,导致少生成一些必要的桥接函数 2023-06-07 11:47:17 +08:00
walon 10684d29cd [fix] CompileDll后主动关闭进度条,临时解决Unity 2022版本Editor的bug 2023-06-06 11:28:27 +08:00
walon 49873ba6ed [new] 新增菜单命令`HybridCLR/CompileDll/ActiveBuildTarget_Development`,用于编译出DevelopmentBuild模式的热更新dll 2023-06-01 11:43:41 +08:00
walon 97f083f07d [revert] Revert "[new] HybridCLRSettings新增AOT dll快照目录,由于保存打包时生成的AOT dlls"
This reverts commit 8d0634620a.
2023-06-01 11:15:40 +08:00
walon 8f89651d10 [merge][version] 合并3.0分支改动,正式进入3.0.0版本。 2023-05-21 09:50:38 +08:00
walon 8d0634620a [new] HybridCLRSettings新增AOT dll快照目录,由于保存打包时生成的AOT dlls 2023-05-20 10:59:34 +08:00
walon 05e721cf02 [fix] BuildOptions.CleanBuildCache从UNITY_2021_2_OR_NEWER开始才有,而不是UNITY_2021_1_OR_NEWER 2023-05-03 17:17:40 +08:00
walon 2894701063 [fix] 修复2019版本MonoBleedingEdge的子目录中包含了过长路径的文件导致Installer复制文件出错的问题
[change] StripAOTDllCommand失败时抛出异常而不是打印错误日志
2023-04-30 01:35:25 +08:00
walon 6e76b96f97 [version] 升级到2.1.0 2023-03-28 22:35:44 +08:00
walon 3beb788baa [fix] 修复 StripAOTDllCommand由于缓存原因,有些情况下生成失败的问题。通过添加BuildOptions.CleanBuildCache选项解决。此选项在Unity 2021及更高版本新增。 2023-03-13 12:17:39 +08:00
walon 275a3bd01a [remove] 移除HybridCLRSettings的collectAssetReferenceTypes选项 2023-02-07 12:42:16 +08:00
walon 5a50778821 [fix] 修复 Il2CppDefGeneratorCommand 中生成 PlaceHolder Assembly列表时未包含 preserveHotUpdateAssemblies的bug 2023-01-11 17:41:44 +08:00
walon ef70a49ae2 [change] Il2CppDefGenerator命令新增将热更新dll列表生成到 Il2CppCompatibleDefs.cpp 2023-01-05 21:38:32 +08:00
walon 00cedc166f [fix] 修复macOS下的编译bug 2022-12-16 11:23:37 +08:00
walon 0e04a66c91 [new] 新增菜单命令 `HybridCLR/Generate/AOTDlls` 快捷生成裁剪后的AOT dlls 2022-12-16 11:03:03 +08:00
walon 00f94335c3 [refactor] 重构并且修复了Generate相关Assembly Resolve潜在的bug。
[opt] 优化 PrebuildCommand.Build 中多次编译热更新dll的问题,大幅缩短了时间。
2022-12-14 14:11:32 +08:00
walon c8acfef61d [fix] 修复 externalHotUpdateAssembliyDirs 无法正确工作的bug 2022-12-13 11:40:18 +08:00
walon 0edd822101 [fix] 修复生成桥接函数时不必要地多次调用 CleanIl2CppBuildCache,并有可能因并发清除而抛出异常的问题 2022-12-08 22:19:27 +08:00
walon e7fac5b0b8 [change] 移除DHE相关代码 2022-12-03 11:56:36 +08:00
walon 45d97d758f [change] 桥接函数生成时,新增跟旧版本一样的托底AssemblyResolver,避免初始项目第一次 generate/all 失败的情况 2022-11-30 17:31:11 +08:00
walon 93f855f8ae [fix] 修复生成桥接函数时错误使用editor环境的dll,导致NativeArray之类的类型与打包的aot dll不一致,进而生成桥接签名错误的bug。目前直接从裁剪后的AOT dll目录读取,但缺点是需要先build一次生成AOT dll,再生成桥接函数。 2022-11-29 17:11:25 +08:00
walon c85adbe65b [refactor] UNITY_VERSION 相关定义从 Il2CppCompatibleDef.h 移到 il2cpp-config.h 2022-11-24 12:09:04 +08:00
walon bdc0d772c8 [new] 支持 Differential Hybrid Execution基础版本 2022-11-05 22:22:39 +08:00
walon d8e155dc25 [new] MonoPInvokeCallback支持任意签名的函数
[refactor] 重构模板文件,除去重复。统一调整生成文件的输出目录到 hybridclr/generated
2022-10-17 21:38:39 +08:00
walon 9ea240ab82 重构 2022-10-17 12:16:18 +08:00
walon d7a1765146 [new] HybridCLRSettings新增collectAssetReferenceTypes字段指示生成link.xml是否扫描资源中引用的类型 2022-10-14 23:20:35 +08:00
walon ef83fca9a0 [refactor] 一些重构 2022-10-09 20:53:13 +08:00
边上海 caa0281e18 [update] 对 Hybrid Global Settings 工作流稍作完善
1. 将 hybrid settings 转移到 ProjectSettings 文件夹
2. 将 hybrid Settings 绘制到 编辑器 ProjectSettings 面板
3. 添加 文档 、Presets、Reset 功能
4. 在 installer 添加 settings 入口
5. 在 菜单栏添加 setting 入口,关于我们、以及文档入口
2022-10-09 19:42:16 +08:00
walon f2ee5e7af1 [fix] 修复 UnityPluginAssemblyResolver 搜索依赖dll未检查Plugins外目录的bug
[refactor] 一些重命名 hotfix -> hotUpdate
[refactor] HybridCLRGlobalSettings移除 hotUpdateDllOutputDir、 hybridCLRDataDir、strippedAssemblyDir这三个配置项,改为直接写死
[change] Editor下调用LoadMetadataForAOTAssembly返回成功而不是抛出错误
2022-10-08 12:35:57 +08:00
walon cd68f33161 [fix] 修复plugin dll与Unity自带dll同名时,GenerateMethodBridge生成失败的bug 2022-09-27 14:57:00 +08:00
walon 07b56fe7e5 [fix] 修复调用Data目录为Data~目录后读取资源文件失败的bug 2022-09-26 13:30:07 +08:00
walon 5926b285e3 [fix] 生成完成后释放dnlib相关对象,避免出现dll文件被占用的异常 2022-09-26 12:12:57 +08:00