使用 Android Lua Helper 在 VSCODE 中调试安卓 Lua 应用 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
riseworlds
V2EX    Lua

使用 Android Lua Helper 在 VSCODE 中调试安卓 Lua 应用

  •  
  •   riseworlds 214 天前 1568 次点击
    这是一个创建于 214 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一、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 即可进行调试。

    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3144 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 11:31 PVG 19:31 LAX 03:31 JFK 06:31
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86