145 lines
3.6 KiB
Markdown
145 lines
3.6 KiB
Markdown
|
|
# 【重要】两种打包方式的区别
|
|||
|
|
|
|||
|
|
## 问题说明
|
|||
|
|
|
|||
|
|
HBuilderX 有两个看起来相似但**完全不同**的打包入口,很容易混淆!
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ❌ 方式一:本地制作自定义基座(会失败)
|
|||
|
|
|
|||
|
|
### 入口位置:
|
|||
|
|
```
|
|||
|
|
运行 → 运行到手机或模拟器 → 制作自定义调试基座(P)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 特点:
|
|||
|
|
- 📍 在 "运行" 菜单下
|
|||
|
|
- 💻 使用本地编译
|
|||
|
|
- ⚙️ 需要配置本地 Android SDK
|
|||
|
|
- ❌ 对于有第三方依赖的 UTS 插件会失败
|
|||
|
|
|
|||
|
|
### 错误信息:
|
|||
|
|
```
|
|||
|
|
找不到名称"vosk"
|
|||
|
|
uts插件[xwq-speech-to-text]编译失败
|
|||
|
|
uni_module [xwq-speech-to-text] (Android) 存在三方依赖或资源引用
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 为什么会失败?
|
|||
|
|
因为 Vosk 是第三方 Maven 依赖,本地编译环境找不到这个库。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ✅ 方式二:云端打包自定义基座(会成功)
|
|||
|
|
|
|||
|
|
### 入口位置:
|
|||
|
|
```
|
|||
|
|
发行 → App–Android/iOS–云打包(P)
|
|||
|
|
→ 勾选 "打包为自定义调试基座"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 特点:
|
|||
|
|
- 📍 在 "发行" 菜单下
|
|||
|
|
- ☁️ 使用云端编译
|
|||
|
|
- 🚀 不需要本地 Android SDK
|
|||
|
|
- ✅ 自动下载和编译所有第三方依赖
|
|||
|
|
|
|||
|
|
### 成功标志:
|
|||
|
|
```
|
|||
|
|
[Speech] ========== 开始初始化语音模型 ==========
|
|||
|
|
[Speech] 模型加载成功
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 为什么会成功?
|
|||
|
|
云端服务器会自动从 Maven 仓库下载 Vosk 库并编译。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 详细对比表
|
|||
|
|
|
|||
|
|
| 对比项 | 本地制作基座 | 云端打包基座 |
|
|||
|
|
|--------|------------|------------|
|
|||
|
|
| **菜单位置** | 运行 → 运行到手机或模拟器 | 发行 → 云打包 |
|
|||
|
|
| **编译位置** | 本地电脑 | DCloud 云端服务器 |
|
|||
|
|
| **需要本地SDK** | ✅ 必须配置 | ❌ 不需要 |
|
|||
|
|
| **处理第三方依赖** | ❌ 需要手动配置 | ✅ 自动下载 |
|
|||
|
|
| **Vosk 插件** | ❌ 编译失败 | ✅ 编译成功 |
|
|||
|
|
| **打包速度** | 快(如果环境配好) | 5-10 分钟 |
|
|||
|
|
| **适用场景** | 纯 UTS 插件,无第三方依赖 | 有第三方依赖的插件 ⭐ |
|
|||
|
|
| **推荐程度** | ⭐ | ⭐⭐⭐⭐⭐ |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 正确的操作步骤
|
|||
|
|
|
|||
|
|
### 第一步:打开云打包
|
|||
|
|
```
|
|||
|
|
发行 → App–Android/iOS–云打包(P)
|
|||
|
|
```
|
|||
|
|
**注意:** 是 "发行" 菜单,不是 "运行" 菜单!
|
|||
|
|
|
|||
|
|
### 第二步:配置打包参数
|
|||
|
|
- ✅ 勾选 `Android`
|
|||
|
|
- ⭐ **勾选 "打包为自定义调试基座"**
|
|||
|
|
- 证书:选择 `DCloud 公共测试证书`
|
|||
|
|
|
|||
|
|
### 第三步:提交打包
|
|||
|
|
- 点击 "打包" 按钮
|
|||
|
|
- 等待 5-10 分钟
|
|||
|
|
- 下载生成的 APK
|
|||
|
|
|
|||
|
|
### 第四步:安装基座
|
|||
|
|
- 将 APK 安装到 Android 手机
|
|||
|
|
|
|||
|
|
### 第五步:配置 HBuilderX
|
|||
|
|
```
|
|||
|
|
运行 → 运行到手机或模拟器 → 运行配置
|
|||
|
|
→ 选择 "自定义调试基座"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 第六步:运行项目
|
|||
|
|
- 现在运行项目不会再本地编译
|
|||
|
|
- 直接使用基座中已编译好的插件
|
|||
|
|
- 语音识别功能正常工作 ✅
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 常见误区
|
|||
|
|
|
|||
|
|
### ❌ 误区 1:以为两个入口是一样的
|
|||
|
|
**真相:** 完全不同!一个本地编译,一个云端编译。
|
|||
|
|
|
|||
|
|
### ❌ 误区 2:以为配置了 Android SDK 就能用本地编译
|
|||
|
|
**真相:** 即使配置了 SDK,第三方依赖的下载和配置也很复杂,容易出错。
|
|||
|
|
|
|||
|
|
### ❌ 误区 3:以为云打包只能打正式包
|
|||
|
|
**真相:** 云打包可以打调试基座,只需勾选 "打包为自定义调试基座"。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 记忆技巧
|
|||
|
|
|
|||
|
|
### 🎯 简单记忆法:
|
|||
|
|
|
|||
|
|
**有第三方依赖的 UTS 插件 = 必须云端打包**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
Vosk 插件(第三方依赖)
|
|||
|
|
↓
|
|||
|
|
必须使用:发行 → 云打包 → 勾选"打包为自定义调试基座"
|
|||
|
|
↓
|
|||
|
|
成功!✅
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 总结
|
|||
|
|
|
|||
|
|
对于 `xwq-speech-to-text` 这个依赖 Vosk 的插件:
|
|||
|
|
|
|||
|
|
- ❌ 不要用:运行 → 制作自定义调试基座
|
|||
|
|
- ✅ 必须用:发行 → 云打包 → 勾选"打包为自定义调试基座"
|
|||
|
|
|
|||
|
|
这是唯一能成功的方法!
|