Dungeon Mizarka 023

这几天可能不会有什麽进展,今天先将之前试验建置VS的部份做个整理。整理有关於Code stripping的部份。

由於是会建置在Android手机上,在利用IL2CPP建置时会有一定的Code stripping

When the IL2CPPscripting backend is selected, the Disabled option of Managed code stripping is not available.

因此,只能够利用link.xml的方式进将需要的型别进行保留。

再加上官方自身的

可说是目前要了解怎麽写link.xml很详细的参考资料。

正常写Code的情况下可以直接将自己撰写的型别或是assembly直接加入,不过这里的问题还是在於即便是加入了自己撰写的部份,仍不确定相依到的型别有没有被stripped掉。好像没有一份完整的清单显示出哪些型别、assembly等被移掉。而是要自行去试。

撇开Code Stripping,利用VS还有另一个问题,而这个问题更麻烦,这个问题是AOT Compile所造成的。如同Code Stripping会自行移掉没有到的assembly、型别,AOT Compile会自行不去产生上移动装置的暂代用型别。

而这个问题一定要上移动装置才会发生,在Standalone build完全没有这个问题存在。

要解决这个AOT相关问题,就算是在原先的Bolt 1.4.x版,有额外的AOT Stub产生指令,又或是在现今直接在Unity 2021里的VS,理论上会自行进行AOT Stub,但仍会产生此问题。

有趣的是,多数时候是正常的,只有用Asset bundle或是Addressable才会发生此问题。也就是说虽然Unity把Bolt纳入旗下,但在和Addressable, asset bundle衔接时会产生的问题并没有详细的考量到。

解决的方法其实也很简单,所有有用到的Node都放进来,就可以解决这个问题,然而它延伸更多的问题出来,最主要的还是

  • 要怎麽知道哪些Node有用到

明明VS是用reflection的机制去拿取API,但在试着读取node资料时没有办法知道哪些API被使用,也就是说要人工的方式进行哪些Node有用到,哪些Node没有用到的记录。

不知道後续的版本对於这块有没改善的可能,按照过往的经验来看,要调整这块没有个二、三年是不太可能的。


<<:  [21] [Discord 机器人] 01.建立基本机器人

>>:  Web应用扫描工具-Arachni小蜘蛛(下)

CSS微动画 - 倒数计时,绘制圆饼图!

Q: 这个用Svg做吧? A: 如果你的需求跟我这款一样,Css就可以画罗~ 上一篇的时钟给小编这...

Day26:Flow 的运算子 - buffer()

Flow 是依序执行的,如果使用 collect 作为终端运算子,那麽在最後就会按照每一个元素所要花...

EP 27 - [Ruby on Rails] 订单列表

Youtube 频道:https://www.youtube.com/c/kaochenlong ...

不只懂 Vue 语法:什麽是 slot?请示范 slot 的用法?

问题回答 slot(插槽)的概念是把外层的内容塞进子元件的指定位置里。跟插槽的字面意思一样,前提是:...

Day6 Python基础语法四

今天的影片内容为稍微困难的函式与类别 虽然有点小复杂,但弄清楚後对程序的编写将会有很大的帮助 以下为...