autojs之lua

简介: 使用场景在autojs中使用lua

使用场景


在autojs中使用lua


依赖jar


luaJ是一个java实现的lua脚本解释器

luaj-jse-3.0.1.jar


效果展示

微信图片_20220624130601.jpg


autojs版本

微信图片_20220624174106.png


原理


  1. luaj.jar执行lua


知识点


  1. 加载jar
  2. 导入类
  3. 创建globals管理lua全局
  4. 执行lua的两种方式
  5. 获取lua变量的值


代码讲解


  1. 加载jar
let dexFilepath = "./luaj-jse-3.0.1.jar";
runtime.loadJar(dexFilepath);
  1. 导入类
importClass("org.luaj.vm2.lib.jse.JsePlatform");
  1. 创建Globals对象来管理全局状态
globals = JsePlatform.standardGlobals();
  1. 执行lua文件
var luaPath = files.path("./luaTest.lua");
globals.loadfile(luaPath).call();
  1. 获取lua变量的值
c = globals.get("c").toString();
log("c: " + c);
  1. 另一种运行lua脚本的方式
s = ""; //lua脚本
s += "x=3\r\n";
s += "y=4\r\n";
s += "print ('hello world!')\r\n";
s += "function aa()\r\n";
s += "print ('aaa')\r\n";
s += "end\r\n";
s += "aa()\r\n";
s += "function method1()\r\n";
s += "return x * 2\r\n";
s += "end\r\n";
s += "c=method1(x)\r\n";
chunk = globals.load(s); //加载自己写的脚本
chunk.call(); //执行脚本
c = globals.get("c").toString(); //取得脚本里的变量d的值
log("c: " + c);
  1. lua代码
x = 3
y = 4
print("hello world!")
function aa()
  print("aaa")
end
aa()
function method1(x)
  return x * 2
end
c = method1(x)
print(c)


完整源码

let dexFilepath = "./luaj-jse-3.0.1.jar";
runtime.loadJar(dexFilepath);
importClass("org.luaj.vm2.lib.jse.JsePlatform");
//创建Globals对象来管理全局状态
globals = JsePlatform.standardGlobals();
var luaPath = files.path("./luaTest.lua");
globals.loadfile(luaPath).call();
c = globals.get("c").toString(); //取得脚本里的变量d的值
log("c: " + c);
// s = ""; //lua脚本
// s += "x=3\r\n";
// s += "y=4\r\n";
// s += "print ('hello world!')\r\n";
// s += "function aa()\r\n";
// s += "print ('aaa')\r\n";
// s += "end\r\n";
// s += "aa()\r\n";
// s += "function method1()\r\n";
// s += "return x * 2\r\n";
// s += "end\r\n";
// s += "c=method1(x)\r\n";
// chunk = globals.load(s); //加载自己写的脚本
// chunk.call(); //执行脚本
// c = globals.get("c").toString(); //取得脚本里的变量d的值
// log("c: " + c);













相关文章
|
人工智能 前端开发 Java
autojs非常见函数1
牙叔教程 简单易懂
1513 0
|
Java Android开发
autojs非常见函数2
autojs非常见函数2
873 0
|
18天前
|
NoSQL JavaScript Java
Lua开发环境搭建和基础语法
Lua开发环境搭建和基础语法
|
4月前
|
Linux 数据安全/隐私保护 iOS开发
【教程】使用ipagurd打包与混淆Cocos2d-x的Lua脚本
本文将介绍如何使用ipagurd工具对Cocos2d-x中的Lua脚本进行打包与混淆,以及在iOS应用开发中的实际应用。我们将以Cocos2d-x-2.2.1 samples中的HelloLua为例,详细展示整个处理流程,并提供相应的代码案例演示。
|
Windows
在VsCode上调试Cocos2d-x lua项目
在VsCode上调试Cocos2d-x lua项目
755 0
|
图形学
Unity热更新——lua语言
Unity热更新——lua语言
96 0
|
人工智能 Android开发
autojs代码片段
牙叔教程 简单易懂
315 0
|
缓存 NoSQL 关系型数据库
Lua脚本基础入门及其案例
文章整理于哔哩哔哩黑马程序员的视频教程
Lua脚本基础入门及其案例