3.3 KiB
3.3 KiB
配置本地 Android 编译环境
问题分析
错误信息:
找不到名称"vosk"
uni_module [xwq-speech-to-text] (Android) 存在三方依赖或资源引用
这是因为 UTS 插件依赖第三方库 com.alphacephei:vosk-android:0.3.47,本地编译环境找不到这个库。
方案一:配置本地 Android SDK(不推荐,太复杂)
- 安装 Android Studio
- 配置 Android SDK
- 在 HBuilderX 设置中配置 Android SDK 路径
- 配置 Gradle 环境
不推荐原因: 配置复杂,容易出错
方案二:使用云端自定义基座(强烈推荐)✅
步骤详解
1. 制作云端自定义基座
在 HBuilderX 中:
发行 → 原生App-云打包 → 打包为自定义调试基座
重要配置:
- ✅ 勾选 "打包为自定义调试基座"
- ✅ 选择 Android 平台
- ✅ 证书可以使用 DCloud 公共证书(测试用)
- ✅ 点击打包
2. 等待云端打包完成
- 时间:约 5-10 分钟
- 云端会自动下载和编译 Vosk 依赖
- 完成后会显示下载链接
3. 下载并安装基座
- 下载生成的 APK 文件
- 安装到 Android 手机
- 文件名类似:
__UNI__XXXXX_自定义基座.apk
4. 在 HBuilderX 中选择自定义基座运行
运行 → 运行到手机或模拟器 → 运行到Android App基座
选择刚才安装的自定义基座,而不是标准基座。
5. 运行项目
- 现在运行时不会再编译 UTS 插件
- 直接使用基座中已编译好的插件
- 语音识别功能应该可以正常使用
关键区别
| 操作 | 本地编译 | 云端编译 |
|---|---|---|
| 制作自定义基座 | ❌ 需要配置 Android SDK | ✅ 云端自动处理 |
| 下载依赖 | ❌ 需要手动配置 Maven | ✅ 云端自动下载 |
| 编译 UTS 插件 | ❌ 容易出错 | ✅ 稳定可靠 |
| 推荐程度 | ⭐ | ⭐⭐⭐⭐⭐ |
注意事项
1. 基座类型选择
在 HBuilderX 运行配置中,确保选择:
运行 → 运行到手机或模拟器 → 运行配置
→ 选择 "自定义调试基座"
2. 修改 UTS 插件代码后
如果你修改了 xwq-speech-to-text 插件的代码:
- ❌ 热更新无效
- ✅ 需要重新制作云端自定义基座
- ✅ 重新安装到手机
3. 修改 Vue/JS 代码
如果只修改 Vue 或 JS 代码:
- ✅ 热更新有效
- ✅ 不需要重新制作基座
验证步骤
完成后,运行日志应该显示:
[Speech] ========== 开始初始化语音模型 ==========
[Speech] 模型加载成功
而不是:
找不到名称"vosk"
uts插件[xwq-speech-to-text]编译失败
常见问题
Q: 为什么本地运行还是报错?
A: 确保在运行配置中选择了"自定义调试基座",而不是"标准基座"。
Q: 每次修改代码都要重新打包吗?
A:
- 修改 Vue/JS 代码:不需要
- 修改 UTS 插件代码:需要重新制作基座
Q: 云打包和自定义基座有什么区别?
A:
- 自定义调试基座:用于开发测试,包含调试功能
- 云打包正式版:用于发布,经过优化和混淆
总结
最简单的方案:
- 云端打包自定义调试基座(勾选"打包为自定义调试基座")
- 安装到手机
- 在 HBuilderX 中选择使用自定义基座运行
- 完成!
不需要配置任何本地 Android 环境。