Skip to content

AsLua 是什么?

AsLua 是一个面向 Android 平台的 Lua 运行与桥接框架,用来在宿主应用中嵌入 Lua 脚本能力,并通过 LuaKt API 访问 Java / Kotlin 世界。

它的目标不是把 Lua 当成独立应用运行环境,而是让 Lua 成为 Android App 内部的一层轻量脚本系统,适合处理以下场景:

  • 动态业务逻辑
  • 配置驱动流程
  • 自动化任务
  • 插件式扩展
  • 原生能力脚本封装

核心组成

AsLua 主要由三部分组成:

组件作用
LuaJIT提供脚本运行时、标准库、JIT 和 FFI 能力
LuaKt提供 Lua 与 Java / Kotlin 的桥接能力
宿主 App提供上下文、生命周期、线程、文件和业务对象

整体调用关系可以理解为:

txt
Android App
   -> AsLua Runtime
      -> LuaJIT
      -> LuaKt
         -> Java / Kotlin APIs

适用场景

适合

  • 需要动态下发或更新一部分业务逻辑
  • 希望把部分规则系统写成脚本
  • 需要快速编写 Android 侧自动化能力
  • 希望在不频繁发版的情况下调整流程行为
  • 需要以 Lua 封装 Java / Kotlin 能力供业务复用

不适合

  • 需要完整 UI 框架替代原生 Android
  • 需要强隔离的多租户脚本沙箱但宿主没有做权限限制
  • 需要完全兼容最新 Lua 5.4 语法

当前支持

能力状态
LuaJIT已支持
Lua 5.1 语法兼容已支持
FFI已支持
Java / Kotlin 桥接已支持
Android ARM64已支持
其他 Lua 版本计划中

文档结构

推荐阅读顺序

  1. 先阅读本页,了解 AsLua 的定位与组成。
  2. 阅读 LuaJIT 使用文档,掌握脚本运行时。
  3. 阅读 LuaKt 文档,掌握桥接层调用方式。
  4. 再结合宿主项目,封装自己的 logjavaandroid 和业务模块。

最小心智模型

可以把 AsLua 理解成一句话:

在 Android 应用里,用 LuaJIT 执行脚本,用 LuaKt 访问 Java / Kotlin,用宿主 App 提供生命周期和系统能力。

如果你是第一次接触这个项目,从 LuaJIT 使用文档 开始会比较顺手。