uni-app x uts Android 调试完全指南:从断点设置到 kt 混编联调
发布时间:2026/9/19 19:22:11 作者:尧图编辑部 阅读量:1,286

uni-app x uts Android 调试完全指南从断点设置到 kt 混编联调【免费下载链接】uni-appA cross-platform framework using Vue.js项目地址: https://gitcode.com/gh_mirrors/un/uni-app本篇技术指南以 uni-app 仓库中 docs/tutorial/uni-uts-debug.md 为骨架系统讲解 uts 在 Android 平台上的断点调试能力如何开启调试、为 uts/uvue/kt 三种文件打断点、理解调试视图与快捷键、查看变量数据并结合仓库内的 uts 插件示例与原生联调方案帮助你从零搭建一套可实战的 uts Android 调试工作流。uts Android 调试的范围与原理在 HBuilderX 中uts 在 Android 平台上的调试覆盖三类代码uni-app 和 uni-app x 的 uts 插件的 uts 代码需 HBuilderX 4.0uni-app 和 uni-app x 的 uts 插件的混编 kt 代码需 HBuilderX 4.61uni-app x 的 uvue 页面需 HBuilderX 4.61。理解其原理是正确使用调试功能的前提uts、uvue、kt 这三种文件本质上调试的都是运行时编译生成的 kt 文件。uts 在 Android 平台的编译产物就是 Kotlin这一点在仓库文档 docs/native/debug/android.md 中被明确表述为得益于 uts 的编译产物就是 kotlin所以 uni-app x 可以和原生应用混编运行联调 debug。正因如此HBuilderX 可以对这 3 种文件统一打断点并支持联编、跨语言、跨文件跳转断点——你可以从一段 uts 代码单步跟进到其混编的 kt 实现再跳转到 uvue 页面中的调用处全程不离开调试器。仓库中可用来验证这一能力的现成素材非常丰富examples/hello-uts是专门的 uts 插件示例工程其uni_modules目录下包含 uts-helloworld、uts-toast、uts-alert、uts-tests-hybrid 等大量插件src/uni_modules下则是 uni-app x 运行时自带的百余个 uts 插件如 uni-getSystemInfo、uni-storage、uni-network 等其中不少插件同时包含*.uts与*.kt/*.swift文件天然适合练习混编调试。前置条件先配置好 uts 插件的 Android 运行环境调试的前提是项目能成功运行到 Android 设备。运行带有 uts 插件的项目时HBuilderX 会自动提示安装【uts 开发扩展 - Android】插件请务必安装。如果运行遇到环境缺失提示需在【设置 - 运行配置】中完成以下三项配置详见 docs/tutorial/uts-development-android.mdHBuilderX 4.27 之前入口在设置 - 插件配置Gradlegradle 是 Android 的库管理工具若未单独安装Android Studio 自带的 gradle 版本通常过低需到官网下载工具包解压后将bin目录下的执行脚本路径填入配置mac 为%解压路径%/bin/gradlewindow 为%解压路径%\bin\gradle.bat。内置下载模板要求 Android Gradle Plugin 最低 7.4.0因此 Gradle最低要求 7.5且暂不支持 9.0.0 及以上版本。Gradle JDK不同 Gradle 版本依赖不同 JDKHBuilderX 4.27 之前内置 JDK 为 114.27 内置 JDK 为 17Gradle 8.0 以上最低要求 JDK 17。若本机安装过 Android Studio可直接使用其自带 JDKwindow 一般在C:\Program Files\Android\Android Studio\jre。Android SDK可安装 Android Studio 后在其内自动下载 SDKmac 默认/Users/用户名/Library/Android/sdkwindow 默认C:\Users\用户名\AppData\Local\Android\Sdk空间不足时也可只下载 Command line tools only用sdkmanager --sdk_root%sdk路径% --install build-tools;30.0.0与--install platforms;android-30安装所需组件。SDK 目录下 build-tools 版本不得低于 30.0.0platforms 不得低于 android-30。配置完成后将项目运行到 Android 设备并等待运行成功即可进入调试环节。开启调试运行 uni-app uts 项目到 Android 并成功启动后在 HBuilderX 控制台点击红色虫子图标在下拉菜单中选择【uts调试】即可开启 uts 调试功能。开启前后有几点需要特别留意应用初始化断点如果需要触发应用初始化中的断点例如App.uvue的onLaunch需要点击红色虫子图标右边的**重启应用按钮**重启之后应用初始化中的断点才会生效变量显示形式目前部分变量的显示可能仍是 Kotlin 的方式因为 uts 编译结果是 kotlin调试 kt 代码如果需要调试 kt 代码需要安装插件kotlin-language打开 kt 文件时 HBuilderX 会自动提示安装该插件ANR 弹框断点时 App 可能出现 Application Not Responding应用无响应弹框部分机型表现为 App 重启。这是因为调试默认以Attach附加方式连接Android 系统不允许 UI 线程被阻塞过久点击下一步或断点结束时弹框会自动消失。若开启断点后点击重启应用按钮以调试模式启动则断点时不会出现应用无响应弹框。添加/删除断点打开要调试的 uts 文件在代码行号上鼠标右击或双击即可添加断点再次操作可删除断点。该交互同样适用于 uvue 与 kt 文件。仓库中的 uts 插件文件都可用于练习例如 examples/hello-uts/uni_modules/uts-helloworld/utssdk/index.uts 中既有同步导出的callWithoutParam、callWithStringParam也有使用setTimeout的异步回调callWithJSONParam和通过setInterval多次回调的onCallback——在opts.input.complete?.(input)或callback(...)等行打断点可以直观观察异步回调场景下的调用堆栈与变量变化。调试视图开启调试后HBuilderX 左侧会出现调试视图其中包含了 uvue、uts、kotlin 三种文件的调试步骤。调试视图分为 5 个部分视图区域提供的功能调试工具栏继续、单步等控制按钮对应快捷键见下文变量窗口查看当前作用域变量支持复制值、复制表达式、添加到监视监视窗口管理自定义表达式支持添加/编辑/删除表达式以及复制值调用堆栈窗口查看当前断点处的调用链支持跨文件跳转断点窗口管理全部断点支持删除/启用/禁用调试操作快捷键调试过程中常用操作与快捷键对应如下操作快捷键继续F8下一步单步跳过F10进入单步进入F11返回单步跳出ShiftF11在混编场景下配合跨语言、跨文件跳转断点能力F11可以从 uts 代码进入 kt 实现ShiftF11再回到 uvue/uts 调用处适合排查跨层逻辑问题。数据检查和查看变量添加到监视在【变量窗口】中选中变量右键菜单选择即可将变量添加到监视窗口。此后即使单步执行离开该作用域监视窗口中也会持续跟踪该表达式/变量的取值变化。悬停显示断点调试过程中将鼠标悬停在要查看的变量上即可打开悬停窗口快速查看变量当前值无需切换到变量窗口。混编 kt 代码调试与原生联调当你的 uts 插件或宿主应用涉及原生 kt/java 代码时可按以下两条路线进行混编与联调详细操作见 docs/native/debug/android.md方案一自定义基座HBuilderX 4.71 以前。将宿主原生应用打包为带 uni-app x 调试模块的 apk拷贝debug-server-release.aar到 libs、在 build.gradle 添加 okhttp/zip4j/leakcanary 依赖、在 AndroidManifest.xml 的 application 节点添加meta-data android:nameDCLOUD_DEBUG android:valuetrue/与网络权限重命名为android_debug.apk放入项目的unpackage/debug目录在 HBuilderX 运行面板勾选使用自定义基座运行。该方式无法动态修改宿主应用原生代码。方案二原生工程联编联调HBuilderX 4.71。将宿主原生工程直接拖入 HBuilderX与 uni-app x 项目进行源码级联编联调uni-app x 代码热重载更新原生 kt/java 文件可在行号处右击设置断点开启【uts调试】后即可在原生工程与 uni-app x 代码的断点之间来回单步跟踪。使用时有几点约束关联项目的路径必须是原生工程根目录否则断点不生效不要在 Android Studio 和 HBuilderX 中同时开启调试服务在 HBuilderX 中改动 kt/java 文件后需回到 Android Studio 重新运行项目才生效。注意事项与故障排查默认不是调试模式启动默认打开调试时 App 并不是以调试模式启动的可能导致 ANR 弹框应用无响应部分机型还会出现卡顿或各种奇怪问题这是因为有的手机厂商并不希望调试未开启调试模式的 App。解决办法debug 开启后点击红色虫子图标右边的重启应用按钮App 将以调试模式启动。HBuilderX 默认以附加Attach方式调试好处是即使 App 不是以调试模式启动的也可以在测试途中随时附加调试无需重启应用重走测试流程而开启调试模式的好处是不会出现 ANR手机厂商一般也不会对调试模式的 App 做限制。两种方式各有适用场景可按需切换。变量无法显示有时监视区域或变量区域无法显示变量例如this.xxx.xxx这类深层属性访问可能无法查看 xxx 的内容且目前显示内容多为 Kotlin 展示方式用户更希望以 uts 的方式展示和查看官方标注优化中。全局变量与上级作用域变量区域暂未显示全局变量和上一级作用域的变量信息优化中。Android Studio 冲突开启 Android Studio 的情况下可能导致调试连接失败调试期间建议关闭 Android Studio 或避免其占用调试端口。调试依赖插件无论 Android 的 uts 开发扩展、iOS 的 uts 调试插件还是鸿蒙调试插件遇到安装依赖插件的弹窗务必点击安装否则无法调试。延伸iOS 与鸿蒙平台的 uts 调试uts 调试能力并不局限于 Android同一套断点 调试视图 快捷键的交互在三端保持一致便于多端开发者快速迁移iOS见 docs/tutorial/uni-uts-debug-ios.mduni-app (x) 的 uts 插件调试iOS 17 以下需 HBuilderX 3.7.6iOS 17 以上需 4.81通过【开启uts调试(swift)】入口仅 Mac 支持uni-app x 的 jscore 调试需 HBuilderX 4.31通过【开启uts调试(jscore)】入口需在手机设置 Safari 高级 Web检查器中打开开关。鸿蒙见 docs/tutorial/uni-uts-debug-harmony.mdHBuilderX 4.61 支持 uvue、uts、混编 ets 的 DebugHBuilderX 4.71 还支持联编调试可在项目根目录.hbuilderx/launch.json中添加配置让 uni-app x 项目与鸿蒙工程目录中的.ets源码同时断点联调。总结uts Android 调试的核心要点可以概括为一句话uts、uvue、kt 本质都是 kt 文件因此 HBuilderX 用一套调试器统一了三种文件的断点、单步与变量查看体验。实践时把握三个关键动作即可快速上手运行成功后点红色虫子开启调试、在行号上双击打断点、用F10/F11/ShiftF11跨语言跟踪遇到 ANR 或断点不生效时记得点击重启应用按钮以调试模式启动。对于涉及原生代码的复杂项目可进一步结合自定义基座或 4.71 的原生工程联编联调方案实现 kt/java 与 uts/uvue 的源码级联合调试。【免费下载链接】uni-appA cross-platform framework using Vue.js项目地址: https://gitcode.com/gh_mirrors/un/uni-app创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考