147 lines
3.3 KiB
Markdown
147 lines
3.3 KiB
Markdown
|
|
# 【解决】关闭 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`:
|
|||
|
|
|
|||
|
|
```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 本地编译选项。
|