guoyu/log/云端打包缓存问题解决方案.md

321 lines
5.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.

# 云端打包缓存问题解决方案
## ❌ **问题现象**
云端打包失败,错误信息:
```
Cannot find a parameter with this name: errorMsg
at index.kt:119:95, 123:95, 239:75, 261:71
```
## 🔍 **问题原因**
**本地代码已正确修改为 `errorMsg`,但云端打包使用了缓存的旧代码(仍然是 `error`)。**
---
## ✅ **解决方案**
### **已执行的修复**
1.**升级插件版本号**
-`1.0.9``1.0.10`
- 文件:`uni_modules/xwq-speech-to-text/package.json`
2.**添加时间戳注释**
- 确保云端识别代码已更新
- 文件:`uni_modules/xwq-speech-to-text/utssdk/app-android/index.uts`
---
## 🚀 **重新打包步骤**
### **步骤1保存所有文件重要**
在 HBuilderX 中:
```
Ctrl + Shift + S (保存所有文件)
```
确保所有修改都已保存!
---
### **步骤2清理本地缓存**
在 HBuilderX 中:
```
运行 → 清理项目缓存
```
---
### **步骤3清理云端缓存关键**
**方法A通过菜单推荐**
```
右键点击项目 fronted_uniapp
→ 清理云端打包缓存
→ 等待清理完成
```
**方法B通过打包界面**
```
发行 → 原生 App-云打包
→ 在打包界面找到 "清理缓存" 选项
→ 点击清理
```
**方法C手动删除云端缓存如果上述方法无效**
在打包前勾选:
```
☑ 清除云端打包缓存
```
---
### **步骤4重新云端打包**
```
发行 → 原生 App-云打包
选择Android
证书:云端证书或自有证书
等待打包(约 5-10 分钟)
```
---
### **步骤5查看打包日志**
重点确认:
```
✅ 使用插件版本1.0.10(新版本)
✅ 编译 Kotlin 代码时无错误
✅ 找到参数 errorMsg不再报错
```
---
## 📋 **验证修改是否正确**
### **检查1本地文件确认**
打开文件查看:
```
文件uni_modules/xwq-speech-to-text/utssdk/app-android/index.uts
```
应该看到:
```typescript
// 第 73-74 行
errorMsg: '识别错误: ' + (e.message ?? '未知错误')
// 第 85 行
errorMsg: '识别超时'
// 第 290 行
errorMsg: '模型未初始化,请重新加载'
// 第 322 行
errorMsg: '语音识别启动失败: ' + (e.message ?? '未知错误')
```
**绝对不应该看到 `error:`**
---
### **检查2版本号确认**
打开文件:
```
文件uni_modules/xwq-speech-to-text/package.json
```
应该看到:
```json
"version": "1.0.10"
```
---
### **检查3前端代码确认**
打开文件:
```
文件pages/speech/speech.vue
```
在 517-522 行应该看到:
```javascript
res.data?.errorMsg // 不是 res.data?.error
```
---
## ⚠️ **如果仍然失败**
### **检查1是否所有文件都保存了**
```
Ctrl + Shift + S (保存所有)
```
---
### **检查2是否清理了云端缓存**
打包日志中应该显示:
```
云端缓存已清理
```
如果没有重新执行步骤3。
---
### **检查3查看完整错误日志**
如果还是报错,点击错误日志链接:
```
错误日志: https://app.liuyingyong.cn/build/errorLog/...
```
查看完整的编译错误信息。
---
### **检查4手动验证编译后的代码**
如果有本地 Android 环境,可以查看:
```
unpackage/cache/.uts/...index.kt
```
确认编译后的 Kotlin 代码是否正确。
---
## 🔍 **其他可能的问题**
### **问题1HBuilderX 版本过旧**
**解决:** 更新到最新版本
```
帮助 → 检查更新
```
---
### **问题2插件配置问题**
检查文件:
```
uni_modules/xwq-speech-to-text/utssdk/app-android/config.json
```
确认配置正确。
---
### **问题3Gradle 缓存问题**
如果云端打包持续失败,可能是 Gradle 缓存问题。
**解决:** 联系 DCloud 技术支持清理服务器端缓存。
---
## 📊 **打包预期时间**
- **清理缓存:** 1-2 分钟
- **云端编译:** 5-10 分钟
- **总计:** 约 10-15 分钟
**注意:** 如果使用了原生插件且需要下载三方库,可能需要 **3-30 分钟**
---
## ✅ **成功标志**
打包成功后,应该看到:
```
[HBuilder] 打包成功
[HBuilder] 下载地址: https://...xxx.apk
```
下载并安装 APK测试语音识别功能正常。
---
## 🎯 **快速检查清单**
- [ ] 本地文件已修改errorMsg不是 error
- [ ] 插件版本已升级1.0.10
- [ ] 所有文件已保存Ctrl+Shift+S
- [ ] 本地缓存已清理
- [ ] **云端缓存已清理(关键!)**
- [ ] 重新云端打包
- [ ] 等待 10-15 分钟
- [ ] 查看打包日志确认成功
- [ ] 下载安装 APK
- [ ] 测试功能正常
---
## 💡 **预防措施**
### **以后修改插件代码后:**
1. ✅ 升级插件版本号(每次修改都升级)
2. ✅ 保存所有文件
3. ✅ 清理本地缓存
4.**清理云端缓存**
5. ✅ 重新打包
**不要跳过清理云端缓存这一步!**
---
## 📞 **获取帮助**
如果按照上述步骤仍然失败:
1. **查看完整错误日志**
```
点击打包失败后的错误日志链接
```
2. **联系 DCloud 技术支持**
```
DCloud 论坛https://ask.dcloud.net.cn/
官方 QQ 群:见官网
```
3. **检查插件是否有更新**
```
插件市场https://ext.dcloud.net.cn/
搜索xwq-speech-to-text
```
---
## ✅ **总结**
### **核心问题**
云端打包使用了缓存的旧代码。
### **关键操作**
**清理云端缓存** + 升级版本号
### **预期结果**
打包成功,语音识别功能正常。
---
**现在请按照步骤重新打包,应该能成功!** 🚀
**记住:每次修改插件代码后,一定要清理云端缓存!** ⚠️