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

321 lines
5.6 KiB
Markdown
Raw Normal View History

# 云端打包缓存问题解决方案
## ❌ **问题现象**
云端打包失败,错误信息:
```
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
```
---
## ✅ **总结**
### **核心问题**
云端打包使用了缓存的旧代码。
### **关键操作**
**清理云端缓存** + 升级版本号
### **预期结果**
打包成功,语音识别功能正常。
---
**现在请按照步骤重新打包,应该能成功!** 🚀
**记住:每次修改插件代码后,一定要清理云端缓存!** ⚠️