Michal Kottm..

7

您可能想看看我的示例项目AndroLua.它包含一个使用Android NDK直接嵌入到Android应用程序中的Lua解释器.只需进行非常小的更改即可成功将其嵌入到Android应用程序中.

为了从您的应用程序中实际使用Lua,LuaJava也捆绑在一起,允许您使用Java中的Lua ,反之亦然.

查看应用程序以查看示例如何覆盖print函数以允许输出TextView而不是控制台.

更新:加载模块

我假设您要加载的模块是在Lua中实现的.用于模块加载的标准Lua技术照常工作 - 您只需修改package.path应用程序数据目录(或您希望存储脚本/模块的任何位置).

想象一下,您hello.lua在应用程序数据目录中调用了一个模块:

$ adb shell

# cd /data/data/sk.kottman.androlua

# cat hello.lua

module(..., package.seeall)

function greet(name)

print('Hello ' .. name)

end

#

然后尝试在解释器中运行此代码:

-- add the data directory to the module search path

package.path = '/data/data/sk.kottman.androlua/?.lua;'..package.path

-- load the module

require 'hello'

-- run a function, should show "Hello Lua!"

hello.greet('Lua!')

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐