SLua踩坑指南:导出APK/导出AssetsBundle报错

在导出APK或导出AssetsBundle时,报错。

内容大致上就是说各种类或变量找不到,是不是忘了组装引用(Assembly Reference),形式如下:

Assets/Slua/Editor/LuaCodeGen.cs(77,25): error CS1061: Type `SLua.Lua3rdMeta' does not contain a definition for `ReBuildTypes' and no extension method `ReBuildTypes' of type `SLua.Lua3rdMeta' could be found. Are you missing an assembly reference?

在群里问了,感谢群主Siney的耐心解答,后来我自己分析了下,可能原因是:

SLua在当前平台使用了当前平台不能使用的类或变量,或当前要使用的变量没有通过Slua引擎生成它需要的形式(就是Slua不认识这个Unity的类)。

这时要根据需要,把不应该在当前平台使用的类或变量加入SLua的忽略列表或者编译列表中。

举例:LuaCodeGen.cs中:


SLua踩坑指南:导出APK/导出AssetsBundle报错_第1张图片

看到了吧,假设将最后的Light.lightmappingMode删掉,那么导出什么东西的时候,就会提示你lightMappingMode或者他里面的什么变量找不到了。

随着Unity版本的更新,各种类的用法可能会发生变化,当SLua的版本更新跟不上时就会出现这些问题。

解决方案就是紧跟官方Github脚步,更新SLua版本,或者时不时得pull一下。。

你可能感兴趣的:(SLua踩坑指南:导出APK/导出AssetsBundle报错)