guoyu/log/备份/md/【解决】关闭UTS本地编译.md
2025-12-07 00:11:06 +08:00

3.3 KiB
Raw Blame History

【解决】关闭 UTS 本地编译

问题现象

虽然云端打包自定义基座成功了,但运行时还是报错:

找不到名称"vosk"
uts插件[xwq-speech-to-text]编译失败

问题原因

HBuilderX 在运行时,默认会尝试本地编译 UTS 插件,即使你已经有了云端编译好的基座。

解决方案

方法一:修改运行配置(推荐)

  1. 打开设置

    工具 → 设置 → 运行配置
    
  2. 找到 Android 配置

    • 找到 "Android" 或 "uni-app运行配置" 部分
  3. 关闭 UTS 本地编译

    • 查找类似 "编译 UTS 插件" 或 "本地编译原生插件" 的选项
    • 取消勾选 或设置为 "使用云端编译"
  4. 保存配置

方法二:使用标准运行模式(临时方案)

如果找不到上述配置,可以尝试:

  1. 确认已安装自定义基座

    • 基座 APK 已安装到手机
    • 文件位置:fronted_uniapp/unpackage/debug/android_debug.apk
  2. 配置使用自定义基座

    运行 → 运行到手机或模拟器 → 运行基座选择 → 自定义调试基座
    
  3. 重启 HBuilderX

    • 完全关闭 HBuilderX
    • 重新打开项目
    • 再次运行

方法三:修改项目配置文件

在项目根目录创建或修改 .hbuilderx/launch.json

{
  "version": "0.0",
  "configurations": [
    {
      "app-plus": {
        "compileMode": "custom",
        "utsCompile": false
      }
    }
  ]
}

这会告诉 HBuilderX 不要本地编译 UTS 插件。

方法四:使用真机运行(跳过编译)

  1. 确保自定义基座已安装到手机

  2. 使用真机运行模式

    运行 → 运行到手机或模拟器 → 真机运行
    
  3. 选择已安装的自定义基座应用

验证配置是否生效

运行项目后,查看日志:

配置成功的标志:

项目 fronted_uniapp 编译成功
正在同步手机端程序文件...
应用【fronted_uniapp】已启动

不应该出现:

❌ uni_module [xwq-speech-to-text] (Android) 存在三方依赖或资源引用
❌ uts插件[xwq-speech-to-text]编译失败
❌ 找不到名称"vosk"

运行成功的标志:

[Speech] ========== 开始初始化语音模型 ==========
[Speech] 模型加载成功

关键理解

云端打包基座 ✅ (已完成)
    ↓
基座中包含编译好的 Vosk 插件 ✅
    ↓
但是 HBuilderX 运行时还在尝试本地编译 ❌
    ↓
需要配置:不要本地编译,直接用基座中的 ✅

如果还是不行

尝试以下步骤:

  1. 完全卸载手机上的应用
  2. 重新安装自定义基座 APK
  3. 重启 HBuilderX
  4. 清除项目缓存
    项目右键 → 清除缓存
    
  5. 重新运行项目

最后的办法:直接运行基座

如果上述方法都不行,可以:

  1. 直接在手机上打开自定义基座应用
  2. 在 HBuilderX 中选择 "同步到手机"
    运行 → 运行到手机或模拟器 → 同步到手机
    
  3. 这样会跳过编译步骤,直接同步代码

总结

核心问题HBuilderX 在运行时不应该本地编译 UTS 插件,应该直接使用基座中已编译好的版本。

需要在设置中关闭 UTS 本地编译选项。