Commit Graph

205 Commits (b96d6fc10da737f4f3486b49eafced5a021adfe1)

Author SHA1 Message Date
walon 1bd27a3e22 [fix] 修复生成桥接函数时,如果热更新程序集未包含任何代码直接引用了某个aot程序集,则没有为该aot程序集生成桥接函数,导致出现NotSupportNative2Managed异常的bug 2023-10-08 13:27:23 +08:00
walon 4da7c1a524 [change] 打包时清空裁减aot dll目录 2023-10-07 21:59:48 +08:00
Rorschach 5c750e9c02
[fix] PS5构建Package包时,在IUnityLinkerProcessor.GenerateAdditionalLinkXmlFile处理 ScriptingAssemblies.json (#36) 2023-09-28 20:18:22 +08:00
firleaves cc09487671
[fix] 修复mac下面路径过长导致拷贝文件失败 (#37) 2023-09-28 19:37:46 +08:00
walon beec0b73e6 [fix] 修复MetaUtil.ToShareTypeSig将Ptr和ByRef计算成IntPtr的bug,正确应该是UIntPtr 2023-09-23 21:19:45 +08:00
walon 61fb0cfe34 [change] 对于小版本不兼容的Unity版本,不再禁止安装,而是提示警告 2023-09-17 23:30:09 +08:00
yanbing.zhou 260909bd4b
[fix] 修改StandaloneLinux平台dll路径 (#35) 2023-09-17 20:58:18 +08:00
walon dc884d36b8 [change] 支持获得UWP、PS5等平台的裁剪后aot dll 2023-09-10 13:37:12 +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 9cf8f19517 [fix] 修复Unity 2020的il2cpp在不同目录存在同名ThreadPool文件,导致偶发生成的同一个lump文件中包含这两个文件时,出现编译错误的问题。解决方式为给每个目录生成一个lump文件 2023-09-10 13:21:28 +08:00
walon 47e43b0afa [change] 小幅重构生成Native2Managed及AdjustorThunk的代码,消除重复代码 2023-08-31 19:22:07 +08:00
walon 9dafabd1ee [fix] 修复桥接函数签名计算的bug 2023-08-31 11:06:06 +08:00
walon 5857696b56 [change] 日志和异常文本换成英文,方便海外开发者 2023-08-30 11:07:12 +08:00
walon dfa11d11c3 [change] object及指针类型的签名由i改为u 2023-08-24 19:36:00 +08:00
walon 69d3303f3d [opt] 大幅优化Native2Managed方向桥接函数传参性能 2023-08-24 19:26:50 +08:00
walon 9eb6dda71b [refactor] 重构桥接函数,彻底解决跨平台问题 2023-08-24 12:58:09 +08:00
walon 10e0568251 [change] 关闭检查增量式GC选项 2023-08-21 11:34:19 +08:00
walon 3f1b34682d [fix] 修复计算 AOTGenericReferences时未考虑到泛型中调用泛型的问题,导致间接调用的泛型未被统计在内的bug 2023-08-13 13:07:37 +08:00
walon a9f5608ecf [change] 检查Settings中热更新程序集列表配置中程序集名不能为空
[fix] 修复当某个热更新程序集正好是另一个AOT程序集后缀时,由于只对比字符串尾部,意外将该AOT程序集也过滤的bug
2023-07-21 18:05:12 +08:00
walon 679c21da43 [fix] 修复计算桥接函数未考虑到泛型类的成员函数中可能包含Native2Manager调用 2023-07-12 23:09:58 +08:00
walon 88404cbbfc [refactor] 重构Installer 2023-07-11 12:27:11 +08:00
walon bec8c84c56 [fix] 修复Win下生成的Lump文件中include路径以\为目录分隔符导致同步到Mac后找不到路径的bug 2023-07-07 21:37:18 +08:00
walon 79bab0459c [change] link.xml及AOTGenericReferences.cs默认输出路径改为HybridCLRGenerate,避免与顶层HybridCLRData混淆 2023-07-04 12:25:35 +08:00
walon 210c781fad [change] 禁用hybridclr后打包ios时不再修改导出的xcode工程 2023-07-02 21:50:52 +08:00
walon 6757f6df5b [fix] 修复2020-2021编译libil2cpp.a未包含brotli相关代码文件导致出现编译错误的bug 2023-06-30 20:15:03 +08:00
walon 41c73fe35b [fix] 修复使用不兼容版本打开Installer时出现异常的bug 2023-06-30 12:20:56 +08:00
walon 4d487fa4c4 [fix] 修复Installer中将hybridclr拼成bybridclr的错误 2023-06-28 11:46:04 +08:00
walon 2f71bb515d [change] 调整CompileDll ScriptCompilationSettings设置相关代码 2023-06-27 08:58:08 +08:00
walon 0d8b001dd2 [fix] 解决ReversePInvokeWrap生成不稳定的问题 2023-06-27 08:57:14 +08:00
walon 3d68dc4db3 [fix] 解决MethodBridge生成不稳定的问题 2023-06-27 08:57:02 +08:00
walon 2988aef85a [change] 优化LinkXml生成 2023-06-27 08:18:11 +08:00
walon 768512bcfa [change] 解决AOTGenericReference生成不稳定的问题 2023-06-27 08:13:16 +08:00
walon 4492449b73 [fix] 修复从导出xcode项目包含绝对路径导致传送到其他机器上编译时找不到路径的bug 2023-06-23 16:19:58 +08:00
walon e45a789569 [change] 为Anaylizer加上using 限定,解决某些情况下与项目的类型同名而产生编译冲突的问题 2023-06-21 11:07:00 +08:00
walon 0a82b0d339 [new] Installer界面新增显示package版本 2023-06-16 18:20:18 +08:00
walon c8cd323bb0 [fix] 修复重构文档站后的帮助文档的链接错误 2023-06-15 17:06:55 +08:00
walon 2f09f88ca2 [new] CompileDll新增MacOS、Linux、WebGL目标 2023-06-15 17:05:46 +08:00
walon 40711cbf38 [new] iOS打包时直接将源码包含到工程,不再需要单独编译libil2cpp.a
[remove] 移除无用的iOSBuild目录
2023-06-15 09:57:15 +08:00
walon 7749b6448e [change] 当用不兼容版本打开Installer时不再抛出异常,而是显示“与当前版本不兼容” 2023-06-12 13:30:32 +08:00
walon c09dad4ae1 [remove] CheckSettings中不再自动设置Api Compatible Level 2023-06-08 13:24:00 +08:00
walon 271dc70626 [opt] 生成AOTGenericReferences时,补充元数据assembly列表由注释改成List<string>列表,方便在代码中直接使用。 2023-06-07 12:17:10 +08:00
walon c462aeb2ef [fix] 修复计算桥接函数时未考虑到补充元数据泛型实例化会导致访问到一些非公开的函数的情况,导致少生成一些必要的桥接函数 2023-06-07 11:47:17 +08:00
walon adbdbf3a00 [remove] 删除无用的复制Unity 2019 Unity.IL2CPP.dll 的代码 2023-06-06 15:51:18 +08:00
walon 10684d29cd [fix] CompileDll后主动关闭进度条,临时解决Unity 2022版本Editor的bug 2023-06-06 11:28:27 +08:00
walon 21b85aa2d3 [fix] 修复WebGL平台ABI的bug 2023-06-03 19:44:50 +08:00
walon 8439e4176d [new] 新增对Unity 2020的支持 2023-06-03 19:42:56 +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 941bbc723a [version] 发布3.0.1版本,正式支持2022.3.0 2023-06-01 00:40:46 +08:00
walon f1336c56d4 [change] 移除一些无用代码 2023-05-21 10:00:44 +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 1f4e754adb [fix] 修复当struct只包含一个float或double字段时,在arm64上计算桥接函数签名错误的bug 2023-05-06 18:57:47 +08:00
walon f63bbc8a52 [opt] CheckSettings中检查ScriptingBackend及ApiCompatibleLevel,切换为正确的值 2023-05-06 12:28:03 +08:00
walon b17751b8a8 [new] 新增 MsvcStdextWorkaround.cs 解决2020 vs下stdext编译错误的问题 2023-05-04 16:23:07 +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 3702411ac8 [fix] 修复本地复制libil2cpp却仍然从仓库下载安装的bug 2023-05-03 12:22:16 +08:00
walon 2894701063 [fix] 修复2019版本MonoBleedingEdge的子目录中包含了过长路径的文件导致Installer复制文件出错的问题
[change] StripAOTDllCommand失败时抛出异常而不是打印错误日志
2023-04-30 01:35:25 +08:00
walon 1045538b40 [refactor] 调整Installer接口 2023-04-29 12:41:47 +08:00
walon 8fd9b2ec82 [new] Installer支持从本地目录复制改造后的libil2cpp目录 2023-04-29 12:11:16 +08:00
walon c083e4ada4 [opt] 优化Resolve Assembly失败时的错误信息 2023-04-23 12:20:56 +08:00
walon 4c6dd1249a [fix] 修复WebGL一些桥接函数ABI计算的bug 2023-04-22 14:05:50 +08:00
walon b8b990bfc1 [fix] 为PatchScriptingAssembliesJsonHook的proxy函数添加无用代码以满足最小代码长度要求 2023-03-31 00:22:48 +08:00
walon 252e6add67 [remove] 删除无用的测试代码文件 BuildPipeline_StripDll_HookTest.cs 2023-03-31 00:21:52 +08:00
walon 6e76b96f97 [version] 升级到2.1.0 2023-03-28 22:35:44 +08:00
walon 2ff3e276d2 [revert] 回滚版本"6909c32a0c8fcf11d4b573af890a0232c1525afe [new] 支持 2021 WebGL资源上挂载脚本" 引入的MonoHook的bug 2023-03-28 13:25:53 +08:00
Jonson 1d5f2a953c
[fix] 修复MonoHook在2020.3.x系列编辑器compile的时候,有可能发生hook没有及时注入从而导致打iOS包失败
[fix]  较高版本的Unity GetFunctionPointer不再依赖GUISkin.current,反而高版本unity的GUISkin.current这个值不会立即有值,导致在编辑器compile等时候,hook没有及时注入从而导致打iOS包失败

---------

Co-authored-by: liaoqiang <liaoqiang@nibirutech.com>
2023-03-28 13:25:32 +08:00
walon 75cb53cb19 [opt] 优化AOTGenericReferences生成,包含assembly列表及美化后的泛型类型及函数名 2023-03-20 17:30:05 +08:00
walon c84f575a2e [change] 对2019修改data.unity3d文件时不再备份data.unity32.bak 2023-03-16 08:39:47 +08:00
walon 3beb788baa [fix] 修复 StripAOTDllCommand由于缓存原因,有些情况下生成失败的问题。通过添加BuildOptions.CleanBuildCache选项解决。此选项在Unity 2021及更高版本新增。 2023-03-13 12:17:39 +08:00
walon 6909c32a0c [new] 支持 2021 WebGL资源上挂载脚本 2023-03-13 09:55:26 +08:00
walon a9ca9fc613 [change] Installer使用tag而不是commit id,安装时不必拉取整个branch,大幅缩短安装时间
[change] 升级hybridclr和il2cpp_plus版本
2023-02-22 10:43:30 +08:00
walon 15f2f0b83c [opt] 优化AssemblyResolver失败时的错误日志 2023-02-12 11:38:18 +08:00
walon d67a11b384 [fix] 修复WebGL平台未正确处理空struct类型的桥接函数签名的bug 2023-02-09 20:11:15 +08:00
walon ff93f30a69 [new] 添加 Mac M1 silicon 平台的MonoHook native插件 2023-02-08 21:59:24 +08:00
walon 275a3bd01a [remove] 移除HybridCLRSettings的collectAssetReferenceTypes选项 2023-02-07 12:42:16 +08:00
walon b5a7899657 [new] 引入 [MonoHook](https://github.com/Misaka-Mikoto-Tech/MonoHook) 彻底解决获得2021版本iOS平台裁剪后AOT dll的问题,不再需要修改UnityEditor.CoreModule.dll 2023-02-06 20:48:22 +08:00
walon bf6ae99dad [change] 直接配置了每个unity大版本对应的hybridclr及il2cpp_plus版本,避免出现安装了不兼容版本的问题 2023-01-26 13:11:38 +08:00
walon dbd8121ee2 [remove] 移除2021.3.6版本的 UnityEditor.CoreModule-* 文件
[remove] 移除去安装时对git是否安装的检查
2023-01-20 12:50:24 +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 83c336a5ce [fix] 修复Installer不同的Unity年度版本仍然读取相同的hybridclr及il2cpp_plus版本号配置,导致切换Unity版本时有可能发生默认显示的版本号错误的问题 2022-12-29 20:41:52 +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 947b15e7d9 [fix] 修复StructLayout中只指定LayoutKind参数时,struct的ClassLayout为空,计算type size和aligment错误的bug 2022-12-14 10:21:31 +08:00
walon b40d62e16e [opt] 优化link.xml生成,只加载热更新dll,不再加载它们依赖的其他dll 2022-12-13 18:10:20 +08:00
walon c8acfef61d [fix] 修复 externalHotUpdateAssembliyDirs 无法正确工作的bug 2022-12-13 11:40:18 +08:00
walon 8afdcb985d [fix] 修复 ReversePInvokeWrap生成代码的bug 2022-12-12 21:36:41 +08:00
walon a107f43173 [fix] 修复生成N2M桥接函数Stub时,失误将末尾项的sinature填成""的bug,正确应该是nullptr 2022-12-12 12:01:02 +08:00
walon 0edd822101 [fix] 修复生成桥接函数时不必要地多次调用 CleanIl2CppBuildCache,并有可能因并发清除而抛出异常的问题 2022-12-08 22:19:27 +08:00
walon 419c3a98f6 [opt] installer安装成功后会记录 安装的版本,并且显示。 2022-12-06 18:57:48 +08:00
walon 6be8b2671e [refactor] 重构Installer,不再支持从其他版本安装HybridCLR,极大简化了代码。 2022-12-06 11:52:47 +08:00
walon e7fac5b0b8 [change] 移除DHE相关代码 2022-12-03 11:56:36 +08:00
walon bc6e285b92 [change] 禁用HybridCLR时不再复制裁剪后的AOT dll
[new] SettingsUtil.Enable 支持setter,允许代码中修改开启状态。
2022-12-02 13:14:06 +08:00
walon abc70a7ffc [new] 支持自定义外部热更新dll的搜索路径 externalHotUpdateAssembliyDirs 2022-12-02 10:33:13 +08:00
walon 45d97d758f [change] 桥接函数生成时,新增跟旧版本一样的托底AssemblyResolver,避免初始项目第一次 generate/all 失败的情况 2022-11-30 17:31:11 +08:00
walon b066cc50fa [fix] 修复??=语法在2019下编译出错的bug 2022-11-30 09:21:25 +08:00
walon 93f855f8ae [fix] 修复生成桥接函数时错误使用editor环境的dll,导致NativeArray之类的类型与打包的aot dll不一致,进而生成桥接签名错误的bug。目前直接从裁剪后的AOT dll目录读取,但缺点是需要先build一次生成AOT dll,再生成桥接函数。 2022-11-29 17:11:25 +08:00