GoForum🌐 V2EX

用 Lua 写 Android 应用? AutoLua 做到了

haikejishu · 2026-06-19 09:13 · 0 次点赞 · 3 条回复

做了个小工具,技术栈 LuaJava + Lua 5.3 。核心思路是把完整 Lua 运行时和 Android API 桥接,让脚本能直接调原生能力。

技术层面几个点

  • Lua 5.3 完整运行时,不是阉割版、不是类 Basic 语法。Goto 、协程、位运算全有
  • import "android.graphics.Bitmap" 原生调用,零中间层。想调什么调什么,不等封装、不等更新
  • .alp 压缩工程格式,透明不加密,脚本归属权是用户自己的。随时导出、分享、备份
  • 内置 AES/RSA/MD5/Base64 加解密,网络请求、多线程全支持

一段代码说清楚

-- import 直接用,零封装
import "android.widget.*"
import "android.content.Intent"
import "android.net.Uri"

-- 布局表构建 UI ,不是拖控件
layout = {
    LinearLayout,
    orientation = "vertical",
    { Button, text = "点我", id = "btn" },
}
activity.setContentView(LoadLayout(layout))

-- 事件绑定 — getter/setter 简写
btn.onClick = function(v)
    print("clicked")
    -- 直接调系统 API
    local intent = Intent(Intent.ACTION_VIEW)
    intent.setData(Uri.parse("https://www.autolua.top"))
    activity.startActivity(intent)
end

对比同类工具

AutoLua 按键精灵 Tasker Auto.js
语言 Lua 5.3 完整 类 Basic 可视化 JavaScript
调 Java API import 直接用 不支持 有限 有限
UI 构建 代码自由画 录制/模板 模板 模板
免 Root 支持 部分 支持 支持

自由度不在一个维度。 Lua 不只是脚本语言,加 LuaJava 桥接后它成了 Android 的一等公民。

内测 & 文档

还在内测阶段,搞机玩家和技术同好来玩。

3 条回复
uqf0663 · 2026-06-19 09:23
#1

参考下 autojs 原作者被喝茶后跑路的事件,建议 op 注意黑产防范注意安全

xwhxbg · 2026-06-19 10:18
#2

有点意思,也许可以拿来做魔兽伴侣,让 lua 直接渲染到 apk 里

xuhuanzy · 2026-06-19 10:23
#3

建议给 lua 上这个强类型提示 https://github.com/EmmyLuaLs/emmylua-analyzer-rust 我是主开发者, 有问题可以提

添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: haikejishu
发布: 2026-06-19
点赞: 0
回复: 0