今天在给Unity写一个Android插件的时候遇到了一个问题。之前定义的方法只有一个参数时Unity调用Android类没有问题,但是新加了一个参数之后,函数参数个数变成了2个,在Android平台执行时Unity就是死活找不到定义的方法,始终报错:java.lang.NoSuchMethodException。检查了好多遍Android插件的类方法,都没发现任何问题。突然想到以前貌似碰到过类似的问题,原因应该是Android的类全称定义过长。果然,把类全名缩短之后,方法执行顺利。猜测貌似应该是Unity调用Android的机制使用的可能是字符串映射,而映射的依据可能就是类名+方法名+参数名。而这个字符串应该是有长度限制的。在博客记录一下,其他人碰到类似问题的,可以参考上述做法。
Unity调用Android类方法报错java.lang.NoSuchMethodException的一种可能情况
最新推荐文章于 2024-06-22 10:31:54 发布