惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
有赞技术团队
有赞技术团队
IT之家
IT之家
博客园 - 聂微东
Jina AI
Jina AI
Hugging Face - Blog
Hugging Face - Blog
Last Week in AI
Last Week in AI
Apple Machine Learning Research
Apple Machine Learning Research
WordPress大学
WordPress大学
小众软件
小众软件
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
Visual Studio Blog
雷峰网
雷峰网
酷 壳 – CoolShell
酷 壳 – CoolShell
阮一峰的网络日志
阮一峰的网络日志
宝玉的分享
宝玉的分享
博客园 - 三生石上(FineUI控件)
大猫的无限游戏
大猫的无限游戏
博客园 - Franky
量子位
月光博客
月光博客
博客园 - 【当耐特】
博客园 - 叶小钗

Lua

用 Lua 写 Android 应用? AutoLua 做到了 Android 上直接用 Lua 调 Java API 写脚本——AutoLua 技术分享 skynet 怎么给 mysql drive 增加对 caching_sha2_password 的支持 奇怪的小问题 Lua 代码上的优化,相互学习一下 openresty + lua 这个地方怎么写 求一份 lua 入门教程 有关 Lua 调用 C++ 编译动态库程序 飞书 + Lua 实现企业级组织架构登录认证 为什么游戏架构要用事件来驱动? vscode 上写 lua 有显示注释的插件吗? lua 为什么要使用~=当作不等于运算符? 请问现在 lua 混淆用什么工具,求常年 lua 的老哥指点 lua 的前景如何? core_framework - 基于 libev 的轻量级 lua 网络开发框架 如何构建伪视频流服务? 低延时低采样, 基于 OpenResty , HTTP, 内网... TP-Link 官方使用的是开源固件? 表达过去、现在与将来:之将来(1) 有个问题, lua 平时能用来做做什么 ngx_lua 遇到的一个小坑 Lua IDE 各位 V 友,用 lua 作为开发语言用什么 IDE 可以方便代码提示以及调试呢 Lua 怎么实现 php strstr() 函数的功能 使用 Sol2 来进行 Lua 绑定 luarocks 使用上的一些小技巧 正在用 lua 写一个 nginx 防盗链的拓展,遇到了一个问题。 9k-18k 宁波 经验 3-5 年 本科及以上 全职 职位诱惑 : 年终奖 出国旅游 顶级办公设备及环境 关于 Lua 的标准库 Torch 一个在 MediaWiki 里面加入 Lua 脚本的插件 ngx_lua_reqstatus 实时监控 Nginx 域名 qps 的 lua 拓展
使用 Android Lua Helper 在 VSCODE 中调试安卓 Lua 应用
riseworlds · 2025-05-15 · via Lua

一、VSCODE 与 Android Lua Helper 的功能特点

Visual Studio Code( VSCODE )是一款功能强大的代码编辑器,它以其高度可定制的界面、强大的扩展生态系统、流畅的性能表现以及对众多编程语言的天然支持而备受开发者青睐。在众多的开发场景中,VSCODE 都展现出了卓越的性能和灵活性。 Lua 作为一种轻量级的脚本语言,在游戏开发、移动应用开发等领域有着广泛的应用。然而,由于 Lua 是一门小众语言,相关的开发工具并不像主流语言那样完善。Android Lua Helper 插件的出现,为开发者提供了一系列强大的功能,极大地提高了 Lua 代码的开发效率和质量。 Android Lua Helper 插件具有多种功能,如符号定义跳转、代码格式化、符号查找、全局引用查找以及智能代码补全、语法错误检测、Lua 代码片段提示等。这些功能使得开发者在编写 Lua 代码时更加高效和准确。例如,代码补全功能可以大大减少开发者的输入时间,提高开发速度;语法错误检测功能可以帮助开发者及时发现并修复代码中的错误,避免在运行时出现问题。Android Lua Helper插件还拥有低内存消耗和高实时性的优点,即便面对规模庞大的项目,也能流畅运行,毫无卡顿之感。 此外,Android Lua Helper 插件还支持多种 Lua 版本,如 Lua 5.1Lua 5.3,满足了不同项目的需求。插件的不断更新和改进也为开发者提供了更好的开发体验。Android Lua Helper 支持使用安卓 ADB 工具连接手机,实现远程调试,安装卸载应用,截屏到本地,启动scrcpy等。 总之,VSCODEAndroid Lua Helper 的结合为 Android 开发中的 Lua 语言项目提供了强大的支持,使得开发者能够更加高效地进行开发工作。

二、VSCODE 与 Android Lua Helper 的集成

首先,我们需要安装 VSCODE,然后安装 Android Lua Helper 插件。 点击此链接直接在VSCODE中安装,或在 VSCODE 的软件商店安装 Android Lua Helper 插件极为简便。首先打开 VSCODE,目光聚焦于侧边栏底部,那里有一个扩展商店入口图标,形似方块。轻轻点击此图标,便会开启一个全新视图,其中罗列着众多插件。接着,在搜索栏中输入 Android Lua Helper 并按下回车键。随后,在搜索结果里找到 Android Lua Helper 插件,点击 “安装” 按钮。待安装完成,再点击 “重新加载” 按钮以启用该插件。 插件安装完成后,我们需要配置 VSCODE,以支持 Android Lua Helper 的调试。

三、调试配置全流程

(一)创建 launch.json 文件

在安装好 Android Lua Helper 插件后,点击运行按钮,接着点击创建 launch.json,选择调试器时,我们要选择 AndroidLuaHelper:Debug。这个过程就像是为我们的调试之旅搭建起了一座桥梁。它为后续的调试工作提供了基础的配置框架,确保我们能够顺利地进行 Lua 代码的调试。 1launch.json 文件中,我们添加了如下内容:4

  • "connectionPort" 字段用于指定调试端口,默认为 8818
  • stopOnEntry 字段尤为关键。通过将其置为 false,可以避免在程序入口处进行断点,使得调试过程更加流畅。例如,在一些复杂的项目中,如果 stopOnEntrytrue,可能会导致调试过程一开始就被中断,难以快速定位到实际的问题点。通过将其置为 false,我们可以更加灵活地控制调试的起点,提高调试效率。
  • enableRemotePath 字段用于是否启用远程路径,默认为 true
  • remotePath 字段用于指定远程路径,默认为 /sdcard/Download/script.zip。会把本地的工程文件打包成 zip 包,上传到手机的此目录。APP 需要加载此目录的脚本来进行解压,然后运行和调试。

(二)添加LuaPanda.lua文件到项目中

按快捷键Ctrl+Shift+P,输入AndroidLuaHelper:Copy Debug file,再按回车键。 选择合适的项目目录后LuaPanda.lua文件会自动复制到目录下,并命名为 LuaPanda.lua2

(三)插入调试代码到合适的文件

在合适的文件(如:main.lua)中,按快捷键Ctrl+Shift+P,输入AndroidLuaHelper:Insert Debugger Code,再按回车键。 插入如下代码: 3 默认端口为 8818,与 launch.json 文件中的"connectionPort"要一致。

(四)连接到安卓手机

Android Lua Helper 会自动检测手机,如果检测不到,则需要手动输入。 点击边栏上的安卓按钮,接着点击 Input Device IP Address按钮,或按快捷键Ctrl+Shift+P,输入AndroidLuaHelper:Input Device IP Address,再按回车键,依次输入 IP 地址和端口号。 5

(五)运行

在需要的位置点入断点,点击运行按钮,选择启动调试,调试器会进入监听模式,在手机上运行 App 即可进行调试。