Возможно, вы захотите взглянуть на мой пример проекта AndroLua . Он содержит интерпретатор Lua, встроенный непосредственно в приложение Android с помощью Android NDK. Только очень небольшие изменения были необходимы, чтобы успешно встроить его в приложение Android.
Для того, чтобы реально использовать Lua из вашего приложения, LuaJava также связан, чтобы позволить вам использовать Lua из Java и наоборот.
Посмотрите на приложение, чтобы увидеть пример того, как я переопределяю функцию 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!')