# 云端打包缓存问题解决方案 ## ❌ **问题现象** 云端打包失败,错误信息: ``` 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 代码是否正确。 --- ## 🔍 **其他可能的问题** ### **问题1:HBuilderX 版本过旧** **解决:** 更新到最新版本 ``` 帮助 → 检查更新 ``` --- ### **问题2:插件配置问题** 检查文件: ``` uni_modules/xwq-speech-to-text/utssdk/app-android/config.json ``` 确认配置正确。 --- ### **问题3:Gradle 缓存问题** 如果云端打包持续失败,可能是 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 ``` --- ## ✅ **总结** ### **核心问题** 云端打包使用了缓存的旧代码。 ### **关键操作** **清理云端缓存** + 升级版本号 ### **预期结果** 打包成功,语音识别功能正常。 --- **现在请按照步骤重新打包,应该能成功!** 🚀 **记住:每次修改插件代码后,一定要清理云端缓存!** ⚠️