update to Lua 5.3.3 and LuaJava ported to Android example
add to build.gradle,${latest.version} is
dependencies {
compile 'com.blakequ.luajava:luajava:${latest.version}'
}
maven
<dependency>
<groupId>com.blakequ.luajava</groupId>
<artifactId>luajava</artifactId>
<version>${latest.version}</version>
<type>pom</type>
</dependency>
you can download example and study how to use
init lua file only once after start app
private void initLua(){
mLuaState = LuaStateFactory.newLuaState();
mLuaState.openLibs();
//push Log object to lua, in lua using like: Log:i(TAG, "this log can show in AS logcat window")
try {
mLuaState.pushObjectValue(Log.class);
mLuaState.setGlobal("Log");
} catch (LuaException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
app/src/main/res/raw/luafile.lua
function GetVersion(info, intvalue)
Log:i("LuaLog", info..intvalue)
print('this log')
return 1
end
private void executeLuaFile()
{
mLuaState.getGlobal("GetVersion");
mLuaState.pushString("reload lua test");// input params
mLuaState.pushNumber(10);
mLuaState.call(2, 1);//2 input, 1 output
String result = mLuaState.toString(-1);
if (result == null){
System.out.println("GetVersion return empty value");
}else {
System.out.println("GetVersion return value"+result);
}
}