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

3.6 KiB
Raw Blame History

【重要】两种打包方式的区别

问题说明

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 的插件:

  • 不要用:运行 → 制作自定义调试基座
  • 必须用:发行 → 云打包 → 勾选"打包为自定义调试基座"

这是唯一能成功的方法!