luaj有bug

lua调用java函数的时候,我写了个java函数 static public void TestLuaCall(final String s,int i,int j);

然后luaj.callStaticMethod(“com/test/test/Test”, “TestLuaCall”, {“sss”, 1,2}, “(Ljava/lang/String;I;I)V”);
logCat报LuaJavaBridge -1错。

但是如果我改成static public void TestLuaCall(final String s,final String i,int j);

luaj.callStaticMethod(“com/test/test/Test”, “TestLuaCall”, {“sss”, “tttt”,2}, “(Ljava/lang/String;Ljava/lang/String;I)V”);

立马没有错!

这个bug我调了好久,一直以为我那个函数写错了或者那个地方调用有问题,直到我改成两个字符串和一个int值就没错。

我怀疑LuaJavaBridge 对有两个int参数的函数处理有bug,请查一下吧。

两个int应该这样写签名,你多了一个分号

(Ljava/lang/String;II)V

好的,谢谢,是我写错了。

luaj.callStaticMethod(“com/test/test/Test”, “TestLuaCall”, {“sss”, 1,2}, “(Ljava/lang/String;II)V”);

除了 string要用; 号

其他可以连着写