美文网首页
LuaScriptCore-lua与java交互

LuaScriptCore-lua与java交互

作者: JokerHerry | 来源:发表于2018-04-23 11:00 被阅读0次

LuaScriptCore一个可以让你在你的Android工程中使用lua脚本的方式

集成

项目原地址 https://github.com/vimfung/LuaScriptCore
目前已经有2.0版本和1.X版本的,酌情选择

通过Gradle

Gradle中加入集成
compile 'com.github.vimfung.luascriptcore:luascriptcore:1.3.1'

最后面的版本号可以更改,具体版本号可参见
https://github.com/vimfung/LuaScriptCore/wiki/%E6%9B%B4%E6%96%B0%E5%8E%86%E5%8F%B2

手动

查看wiki,个人配置了没有问题。
配置后,项目工程图。


image.png

使用流程

//注册上下文对象
LuaContext context = LuaContext.create(this);
//直接进行简单的lua交互式语言
context.evalScript("print('Hello World');");

//直接执行lua文件
context.evalScriptFromFile("JustDoIt.lua");

而我主要是为了实现在lua中使用java语言创建的对象,我在2.0版本没有实现,不知道是不是使用姿势不对,于是采用1.3.5版本的。

首先自己对象类要继承LuaObjectClass


image.png

然后在lua中使用。
首先需要对其进行构建。

local bili = Parame.create();

//取得对象中的变量
bili:x();   
//调用内部的方法
bili:haha();

当然你也可以直接用从java方向返回回来的数据,然后lua端接收。


image.png

然后慎用lua中对象的create,因为他会占用jni层的引用表,而jni的引用表最大占用是512,不能修改,lua中创建的对象不能动态销毁,导致jni层报错。

相关文章

网友评论

      本文标题:LuaScriptCore-lua与java交互

      本文链接:https://www.haomeiwen.com/subject/pasklftx.html