LuaScriptCore-lua与java交互

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层报错。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 用到的组件 1、通过CocoaPods安装 2、第三方类库安装 3、第三方服务 友盟社会化分享组件 友盟用户反馈 ...
    SunnyLeong阅读 14,702评论 1 180
  • ¥开启¥ 【雷霆战机】 〖http://pan.baidu.com/s/1kVstszX〗 《解压源码后直接用AI...
    小菜c阅读 3,594评论 1 10
  • ¥开启¥ 【雷霆战机】 〖http://pan.baidu.com/s/1kVstszX〗 《解压源码后直接用AI...
    小菜c阅读 3,789评论 0 5
  • ¥关闭¥ 【雷霆战机】 〖http://pan.baidu.com/s/1kVstszX〗 《解压源码后直接用AI...
    小菜c阅读 9,596评论 0 19
  • 刚刚熬夜看球,巴萨对马竞,梅球王果然没让人失望,西甲冠军不出意外,已定巴萨。 早上去一局,没有跟人起太多的争执,虽...
    伏伏王阅读 84评论 2 6