开发环境:
- HBuilderX:5.26
- 操作系统:Windows 11 Pro 64 位,Build 26200
- HBuilderX 内置 Node.js:v22.22.2
- 项目类型:uni-app
- 项目包含原生 UTS 插件:uni_modules/redfish-camera
- 目标:制作 iOS/Android 自定义调试基座
问题现象:
打开项目后,点击“发行”进入 App 打包/制作自定义调试基座窗口,
窗口会立即进入“未响应”状态,页面中的选项无法操作,也无法提交打包。
重启 HBuilderX、重启电脑后问题仍然稳定复现。
该问题发生在真正的云打包任务启动之前:
- 没有启动 Java/Kotlin 编译或实际构建进程
- 点击发行后立即生成 HBuilderX PluginHost 异常日志
- 每次重试均可复现,复现率 100%
最新一次复现时间:
2026-09-21 15:43:18
最新异常:
TypeError: Cannot read properties of null (reading 'getText')
at u.visitSimpleIdentifier
(HBuilderX/plugins/uts-development-android/static/tots/index.js:1:945614)
at Fe.accept
(HBuilderX/plugins/uts-development-android/static/tots/index.js:1:909191)
at u.accept
(HBuilderX/plugins/uts-development-android/static/tots/index.js:1:945900)
at HBuilderX/plugins/uts-development-android/static/tots/index.js:1:946001
at Array.map (<anonymous>)
at u.map
(HBuilderX/plugins/uts-development-android/static/tots/index.js:1:945988)
at u.visitIdentifier
(HBuilderX/plugins/uts-development-android/static/tots/index.js:1:945508)
at Ve.accept
(HBuilderX/plugins/uts-development-android/static/tots/index.js:1:907310)
at u.accept
(HBuilderX/plugins/uts-development-android/static/tots/index.js:1:945900)
at u.visitFunctionDeclaration
(HBuilderX/plugins/uts-development-android/static/tots/index.js:1:936629)
Node.js v22.22.2
排查情况:
- 项目 manifest.json、UTS 插件 package.json/config.json 均可正常解析。
- 项目的 .hbuilderx/launch.json 没有异常改动。
- 原生 Kotlin 代码可通过 HBuilderX 内置 Kotlin 编译环境编译。
- 将复杂 Android 实现预编译为 jar,并只保留轻量桥接文件后,
点击“发行”仍然触发上述 tots/index.js 异常并导致窗口未响应。 - 单独简化桥接代码时,tots 转换可以通过。
- 把原始 Kotlin 实现直接放在插件源码目录时,tots 还出现过
Kotlin 语法解析失败以及 “Error: unkown instance”。 - 即使当前目的是制作 iOS 自定义基座,打开打包窗口时依然会执行
uts-development-android/static/tots,并且其异常似乎阻塞了整个打包窗口。
预期结果:
点击“发行/制作自定义调试基座”后,打包配置窗口能够正常加载和操作。
单个平台的 UTS 类型转换失败不应导致整个 HBuilderX 打包窗口未响应。
实际结果:
打包窗口立即未响应,不能操作,也没有进入实际打包阶段。
- 这是 HBuilderX 5.26 中 uts-development-android/tots 的已知问题吗?
- 为什么打开打包窗口时会执行 Android UTS 的 tots 转换,
即使当前需要制作的是 iOS 自定义基座? - tots 中 visitSimpleIdentifier 调用 getText 时为何会得到 null?
- 是否有配置可以临时关闭 UTS Android 的类型生成/索引,
或将指定 Kotlin 文件排除在 tots 扫描范围之外? - UTS 原生插件推荐如何放置预编译 jar 及 Kotlin 桥接源码,
才能避免 tots 解析实现层代码? - 是否有包含修复的 HBuilderX 测试版本或补丁?
0 个回复