UnityAndroidIl2cppPatchDemo
UnityAndroidIl2cppPatchDemo copied to clipboard
为什么只更新so和global-metadata.dat会启动时崩溃?
这两部分,libil2cpp和assets目录,必须匹配(即需要在同一次打包中提取,可能有的变了,有的没变,增量方式只提取变化的部分)才能正常工作,不然Unity会在启动时崩溃。
请问为什么和assets不匹配会崩溃?另一种改MetadataLoader.cpp的so热更方案好像没这问题
才看到,说说我知道的。 即使所有资源都打了bundle,assets里面还是保存一些全局的数据定义。 按漏出来的老代码, 里面包含了打包时所有序列化脚本的定义,Unity启动的时候会去初始化。 我试过,如果没动到序列化脚本的定义,小改代码,其实是跑得起来的。 但是,这个说法是没有经过严格测试的。哪天不匹配崩了,其实我也答不上来,我没代码, 我不知道。
至于改MetadataLoader.cpp的so热更方案,我不知道, 不做评价。