3.3 KiB
3.3 KiB
【解决】关闭 UTS 本地编译
问题现象
虽然云端打包自定义基座成功了,但运行时还是报错:
找不到名称"vosk"
uts插件[xwq-speech-to-text]编译失败
问题原因
HBuilderX 在运行时,默认会尝试本地编译 UTS 插件,即使你已经有了云端编译好的基座。
解决方案
方法一:修改运行配置(推荐)
-
打开设置:
工具 → 设置 → 运行配置 -
找到 Android 配置:
- 找到 "Android" 或 "uni-app运行配置" 部分
-
关闭 UTS 本地编译:
- 查找类似 "编译 UTS 插件" 或 "本地编译原生插件" 的选项
- 取消勾选 或设置为 "使用云端编译"
-
保存配置
方法二:使用标准运行模式(临时方案)
如果找不到上述配置,可以尝试:
-
确认已安装自定义基座:
- 基座 APK 已安装到手机
- 文件位置:
fronted_uniapp/unpackage/debug/android_debug.apk
-
配置使用自定义基座:
运行 → 运行到手机或模拟器 → 运行基座选择 → 自定义调试基座 -
重启 HBuilderX:
- 完全关闭 HBuilderX
- 重新打开项目
- 再次运行
方法三:修改项目配置文件
在项目根目录创建或修改 .hbuilderx/launch.json:
{
"version": "0.0",
"configurations": [
{
"app-plus": {
"compileMode": "custom",
"utsCompile": false
}
}
]
}
这会告诉 HBuilderX 不要本地编译 UTS 插件。
方法四:使用真机运行(跳过编译)
-
确保自定义基座已安装到手机
-
使用真机运行模式:
运行 → 运行到手机或模拟器 → 真机运行 -
选择已安装的自定义基座应用
验证配置是否生效
运行项目后,查看日志:
✅ 配置成功的标志:
项目 fronted_uniapp 编译成功
正在同步手机端程序文件...
应用【fronted_uniapp】已启动
不应该出现:
❌ uni_module [xwq-speech-to-text] (Android) 存在三方依赖或资源引用
❌ uts插件[xwq-speech-to-text]编译失败
❌ 找不到名称"vosk"
✅ 运行成功的标志:
[Speech] ========== 开始初始化语音模型 ==========
[Speech] 模型加载成功
关键理解
云端打包基座 ✅ (已完成)
↓
基座中包含编译好的 Vosk 插件 ✅
↓
但是 HBuilderX 运行时还在尝试本地编译 ❌
↓
需要配置:不要本地编译,直接用基座中的 ✅
如果还是不行
尝试以下步骤:
- 完全卸载手机上的应用
- 重新安装自定义基座 APK
- 重启 HBuilderX
- 清除项目缓存:
项目右键 → 清除缓存 - 重新运行项目
最后的办法:直接运行基座
如果上述方法都不行,可以:
- 直接在手机上打开自定义基座应用
- 在 HBuilderX 中选择 "同步到手机":
运行 → 运行到手机或模拟器 → 同步到手机 - 这样会跳过编译步骤,直接同步代码
总结
核心问题:HBuilderX 在运行时不应该本地编译 UTS 插件,应该直接使用基座中已编译好的版本。
需要在设置中关闭 UTS 本地编译选项。