324 lines
6.4 KiB
Markdown
324 lines
6.4 KiB
Markdown
|
|
# 自定义基座打包完整步骤
|
|||
|
|
|
|||
|
|
## 🎯 **为什么使用自定义基座?**
|
|||
|
|
|
|||
|
|
### **问题**
|
|||
|
|
- 云端打包限制:40MB
|
|||
|
|
- 语音模型大小:41.87MB
|
|||
|
|
- 结果:云端打包失败
|
|||
|
|
|
|||
|
|
### **解决方案**
|
|||
|
|
- ✅ 自定义基座**没有大小限制**
|
|||
|
|
- ✅ 可以包含42MB的语音模型
|
|||
|
|
- ✅ 所有功能立即可用
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📋 **完整操作步骤**
|
|||
|
|
|
|||
|
|
### **步骤1:在 HBuilderX 中打开项目**
|
|||
|
|
|
|||
|
|
确保项目已经打开:`fronted_uniapp`
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### **步骤2:制作自定义调试基座**
|
|||
|
|
|
|||
|
|
#### **2.1 点击菜单**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
运行 → 运行到手机或模拟器 → 制作自定义调试基座
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
或者:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
发行 → 原生App-本地打包 → 生成本地打包App资源
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**推荐:制作自定义调试基座**(更简单)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
#### **2.2 选择打包方式**
|
|||
|
|
|
|||
|
|
会弹出对话框,选择:
|
|||
|
|
|
|||
|
|
**方式1:使用云端证书(推荐)** ✅
|
|||
|
|
- ✅ 简单,DCloud提供证书
|
|||
|
|
- ✅ 无需配置
|
|||
|
|
- ⚠️ 证书是公共的,不能上架应用商店
|
|||
|
|
|
|||
|
|
**方式2:使用自有证书**
|
|||
|
|
- ✅ 可以上架应用商店
|
|||
|
|
- ❌ 需要自己生成证书(复杂)
|
|||
|
|
|
|||
|
|
**现在选择:使用云端证书**
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
#### **2.3 选择平台**
|
|||
|
|
|
|||
|
|
- ☑ Android
|
|||
|
|
- ☐ iOS(如果需要iOS也勾选)
|
|||
|
|
|
|||
|
|
点击:**打包**
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### **步骤3:等待打包完成**
|
|||
|
|
|
|||
|
|
#### **3.1 查看控制台**
|
|||
|
|
|
|||
|
|
HBuilderX 底部的控制台会显示打包进度:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
[HBuilder] 开始制作自定义基座...
|
|||
|
|
[HBuilder] 正在编译...
|
|||
|
|
[HBuilder] 正在打包Android资源...
|
|||
|
|
[HBuilder] 正在生成APK...
|
|||
|
|
[HBuilder] 打包成功!
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**预计时间:5-15分钟**(首次可能更久)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
#### **3.2 成功标志**
|
|||
|
|
|
|||
|
|
看到类似信息:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
[HBuilder] 自定义基座制作成功
|
|||
|
|
[HBuilder] Android基座路径:
|
|||
|
|
C:\Users\Administrator\Desktop\Project\ry_study-v_03\fronted_uniapp\unpackage\debug\android_debug.apk
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### **步骤4:安装自定义基座到手机**
|
|||
|
|
|
|||
|
|
#### **4.1 找到APK文件**
|
|||
|
|
|
|||
|
|
路径:
|
|||
|
|
```
|
|||
|
|
项目目录/unpackage/debug/android_debug.apk
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### **4.2 安装到手机**
|
|||
|
|
|
|||
|
|
**方法A:USB连接**
|
|||
|
|
1. 手机通过USB连接电脑
|
|||
|
|
2. 开启手机的USB调试
|
|||
|
|
3. 将APK拖到手机
|
|||
|
|
4. 在手机上安装
|
|||
|
|
|
|||
|
|
**方法B:通过HBuilderX直接安装**
|
|||
|
|
```
|
|||
|
|
运行 → 运行到手机或模拟器 → 运行到Android App基座
|
|||
|
|
选择您的设备
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### **步骤5:使用自定义基座运行**
|
|||
|
|
|
|||
|
|
#### **5.1 选择运行方式**
|
|||
|
|
|
|||
|
|
在 HBuilderX 中:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
运行 → 运行到手机或模拟器 → 运行到Android App基座
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**重要:** 选择"运行到Android App基座",而不是"运行到手机"
|
|||
|
|
|
|||
|
|
#### **5.2 选择设备**
|
|||
|
|
|
|||
|
|
选择已安装自定义基座的手机
|
|||
|
|
|
|||
|
|
#### **5.3 开始运行**
|
|||
|
|
|
|||
|
|
HBuilderX 会将代码同步到自定义基座中运行
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### **步骤6:测试语音功能**
|
|||
|
|
|
|||
|
|
1. 打开APP
|
|||
|
|
2. 进入语音测评页面
|
|||
|
|
3. 测试语音识别功能
|
|||
|
|
4. ✅ 应该正常工作!
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🎯 **自定义基座 vs 云端打包**
|
|||
|
|
|
|||
|
|
| 特性 | 自定义基座 | 云端打包 |
|
|||
|
|
|------|-----------|---------|
|
|||
|
|
| **大小限制** | 无限制 ✅ | 40MB ❌ |
|
|||
|
|
| **打包时间** | 5-15分钟 | 2-5分钟 |
|
|||
|
|
| **证书** | 云端或自有 | 云端或自有 |
|
|||
|
|
| **开发调试** | 方便 ✅ | 一般 |
|
|||
|
|
| **正式发布** | 可以 ✅ | 可以 ✅ |
|
|||
|
|
| **包含模型** | 可以 ✅ | 不能 ❌ |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ⚠️ **常见问题**
|
|||
|
|
|
|||
|
|
### **Q1:自定义基座可以发布吗?**
|
|||
|
|
|
|||
|
|
**A:** 可以!
|
|||
|
|
|
|||
|
|
自定义基座就是完整的APK,可以:
|
|||
|
|
- ✅ 直接分发给用户
|
|||
|
|
- ✅ 上传到应用商店(需要自有证书)
|
|||
|
|
- ✅ 作为正式版本发布
|
|||
|
|
|
|||
|
|
**但是:**
|
|||
|
|
- 如果用云端证书,不能上架应用商店
|
|||
|
|
- 如果用自有证书,可以上架
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### **Q2:自定义基座和云端打包有什么区别?**
|
|||
|
|
|
|||
|
|
**本质上没区别!**
|
|||
|
|
|
|||
|
|
- 自定义基座 = 本地/云端编译的完整APK
|
|||
|
|
- 云端打包 = 云端编译的完整APK
|
|||
|
|
|
|||
|
|
唯一区别:
|
|||
|
|
- 自定义基座没有40MB限制
|
|||
|
|
- 云端打包有40MB限制
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### **Q3:每次修改代码都要重新制作基座吗?**
|
|||
|
|
|
|||
|
|
**不需要!**
|
|||
|
|
|
|||
|
|
**开发阶段:**
|
|||
|
|
- 制作一次基座
|
|||
|
|
- 之后修改代码,直接"运行到基座"
|
|||
|
|
- HBuilderX会自动同步代码
|
|||
|
|
- 除非修改了manifest.json或原生插件
|
|||
|
|
|
|||
|
|
**发布阶段:**
|
|||
|
|
- 代码稳定后
|
|||
|
|
- 重新制作基座
|
|||
|
|
- 这个基座就是最终APK
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### **Q4:打包失败怎么办?**
|
|||
|
|
|
|||
|
|
**常见原因:**
|
|||
|
|
|
|||
|
|
1. **插件版本冲突**
|
|||
|
|
- 清理:`unpackage` 目录
|
|||
|
|
- 重新打包
|
|||
|
|
|
|||
|
|
2. **证书问题**
|
|||
|
|
- 使用云端证书
|
|||
|
|
- 或重新生成自有证书
|
|||
|
|
|
|||
|
|
3. **网络问题**
|
|||
|
|
- 检查HBuilderX网络连接
|
|||
|
|
- 检查防火墙设置
|
|||
|
|
|
|||
|
|
4. **Gradle下载失败**
|
|||
|
|
- 配置Gradle镜像
|
|||
|
|
- 或等待自动重试
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### **Q5:自定义基座很大怎么办?**
|
|||
|
|
|
|||
|
|
**原因:**
|
|||
|
|
- 包含了所有资源和插件
|
|||
|
|
- 语音模型42MB
|
|||
|
|
- 其他资源
|
|||
|
|
|
|||
|
|
**正常大小:**
|
|||
|
|
- 50-100MB是正常的
|
|||
|
|
- 语音识别APP通常较大
|
|||
|
|
- 微信: 200MB+
|
|||
|
|
- 抖音: 100MB+
|
|||
|
|
|
|||
|
|
**如果想减小:**
|
|||
|
|
- 压缩图片资源
|
|||
|
|
- 移除未使用的插件
|
|||
|
|
- 使用运行时下载(后续优化)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🚀 **开始制作自定义基座**
|
|||
|
|
|
|||
|
|
### **现在在 HBuilderX 中操作:**
|
|||
|
|
|
|||
|
|
1. ✅ 确保模型文件已恢复(已完成)
|
|||
|
|
2. ✅ 保存所有文件(Ctrl+Shift+S)
|
|||
|
|
3. ✅ 点击菜单:
|
|||
|
|
```
|
|||
|
|
运行 → 运行到手机或模拟器 → 制作自定义调试基座
|
|||
|
|
```
|
|||
|
|
4. ✅ 选择:使用云端证书
|
|||
|
|
5. ✅ 勾选:Android
|
|||
|
|
6. ✅ 点击:打包
|
|||
|
|
7. ⏰ 等待 5-15 分钟
|
|||
|
|
8. ✅ 打包成功!
|
|||
|
|
9. ✅ 安装到手机
|
|||
|
|
10. ✅ 测试语音功能
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📊 **预期结果**
|
|||
|
|
|
|||
|
|
### **自定义基座APK:**
|
|||
|
|
- 文件名: `android_debug.apk` 或 `android_release.apk`
|
|||
|
|
- 大小: 约 80-120MB
|
|||
|
|
- 位置: `unpackage/debug/` 或 `unpackage/release/`
|
|||
|
|
- 功能: 完整,包含语音识别
|
|||
|
|
|
|||
|
|
### **运行效果:**
|
|||
|
|
- ✅ 所有页面正常
|
|||
|
|
- ✅ 语音识别功能正常
|
|||
|
|
- ✅ 模型文件在APP内部
|
|||
|
|
- ✅ 无需额外下载
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 💡 **后续优化建议**
|
|||
|
|
|
|||
|
|
### **开发阶段(现在):**
|
|||
|
|
使用自定义基座,快速开发和测试
|
|||
|
|
|
|||
|
|
### **正式发布:**
|
|||
|
|
|
|||
|
|
**选项A:继续使用自定义基座**
|
|||
|
|
- 简单,一次打包即可
|
|||
|
|
- 用户下载即用,无需等待
|
|||
|
|
|
|||
|
|
**选项B:改用运行时下载**
|
|||
|
|
- APK减小42MB
|
|||
|
|
- 首次使用需下载1-2分钟
|
|||
|
|
- 代码参考:`log/运行时下载模型完整示例.md`
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ✅ **总结**
|
|||
|
|
|
|||
|
|
1. **模型文件已恢复** ✅
|
|||
|
|
2. **使用自定义基座打包** ✅
|
|||
|
|
3. **没有大小限制** ✅
|
|||
|
|
4. **语音功能正常** ✅
|
|||
|
|
5. **可以作为正式版发布** ✅
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**现在请在 HBuilderX 中制作自定义基座!** 🚀
|
|||
|
|
|
|||
|
|
**如果遇到问题,随时告诉我!** 💬
|