Quick-x中luajavabridge示例代码中一个小问题

Quick-x提供的luaj非常好用,很简单的实现了Lua调用Java的功能,平台也提供了一个Luajavabridge示例,按照例子可以很快的掌握调用方法。

不过,在使用过程中,发现在某些Android机器上,在调用时会出错退出。检查出错提示,开始未能确定原因;后来向前追查,发现前面有一个警告提示,大意是在调用java类时路径指示可能有误。根据提示,又查了一下JNI文档,确定了原因。

在JNI中,调用Java类时,文档里的标准是使用'/'进行路径分隔,而在Luajavabridge这个示例中,使用的是'.'分隔。多数机型这两种方式都是支持的,但有些机器只支持标准格式,所以会出现问题。

因此,从通用性出发,Luajavabridge里的这句代码:

local javaClassName = "com.quick_x.sample.luajavabridge.Luajavabridge"

最好是改成:

local javaClassName = "com/quick_x/sample/luajavabridge/Luajavabridge"

大家在开发自己的项目时也应该注意一下这个问题,呵呵。

(2014.5.30加注:quick-x的2.2.3版本已经集成了我递交的pr,现在官方版本代码已经修正)

你可能感兴趣的:(luaj,quick-cocos2d-x,Lua调用java)