guoyu/fronted_uniapp/【重要】两种打包方式的区别.md
2025-12-06 20:11:36 +08:00

145 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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