1:引用系统组件的某些方法提示找不到该方法。
问题原因:可能由于没有添加对应程序集或者没有代码被裁剪。
解决方法:尝试添加组件对应的Unity Dll文件,或者在热更引用然后自动生成bind文件。或者在项目内添加对应link文件的权限防止裁剪。
2:关于异步方法在热更工程内无法正常执行。
问题原因:可能是ILRuntime不支持嵌套的异步方法。比如嵌套的await或者协成。
解决方法:尽量避免出现以上写法,避免在迭代器里使用异步方法。
3:一些不能稳定复现的逻辑BUG,空引用
问题描述:
比如初始化时,ab包加载资源生成物体并赋值,不稳定出现空引用的报错。
比如,切换页面销毁资源后,不稳定出现空引用的报错。
比如,在判断某个页面不为空的情况下仍然报该页面或该页面的某些物体的空引用。
不能稳定复现的状况取决于手机是否延迟和网络状况。
问题原因:以上问题大概率是由于执行异步方法使资源和代码不同步的导致的。
解决方法:在必要的位置waitunitll初始化方法执行完成。热更的代码未直接挂载在物体上,判空标准应该是代码和物体均不为空。
4:自动生成绑定时报错,空引用。
问题描述:
在自动生成bind的方法执行时报错,某个脚本的空引用。
解决方法:查找该方法的的所有引用,避免用于字段直接赋值。
以上。