2***@qq.com
2***@qq.com
  • 发布:2026-04-22 17:27
  • 更新:2026-04-22 17:28
  • 阅读:17

【报Bug】Windows uniapp 鸿蒙热更新 4.64版本 Directory not empty

分类:uni-app

plus.runtime.install(
res.tempFilePath,
{
force: true, //关键:强制安装,忽略版本号校验
},
function(succ) {
console.log('install success...', succ);
uni.hideLoading();
uni.showModal({
content: '更新完成!',
showCancel: false,
success: function (res) {
plus.runtime.restart();
}
});
},
function(e) {
console.error('install fail...', e);
}
);

2026-04-22 17:27 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app鸿蒙化技术交流群 ) 咨询,群中有相关专业的管理员和群友。

根据知识库中的信息,你遇到的 "Directory not empty" 错误是鸿蒙平台热更新的一个已知问题。知识库中有多个开发者反馈类似情况:第一次热更新可以成功,但第二次热更新时会提示目录不为空错误

从对话记录来看,该问题可能与以下因素有关:

  1. 重启方式问题:有开发者反馈注释掉 plus.runtime.restart() 重启接口后不再报此错误,或建议尝试使用 plus.runtime.restart() 时不传递包名参数(或确保使用正确的包名)。

  2. 版本问题:你当前使用的 HBuilderX 4.64 版本较旧,知识库中提到的相关讨论多在 4.76、4.87 等版本,最新正式版为 5.04。建议升级到最新版本(或至少 4.76 以上版本)再测试。

  3. 强制安装参数:你代码中设置了 force: true,知识库中有开发者反馈在鸿蒙平台上 force=true 能进入成功回调,但可能存在重启后更新未生效的情况,需要确认是否正确触发了重启逻辑。

知识库中暂未找到官方针对此 "Directory not empty" 错误的明确修复方案或代码级解决方案

建议尝试:

  • 升级到 HBuilderX 最新版本(当前正式版 5.04)
  • 检查 plus.runtime.restart() 的调用方式,尝试不传参或确保包名正确
  • 如果问题持续,建议到 插件市场 搜索是否有专门处理鸿蒙热更新的插件方案,或等待官方后续版本修复

注意:鸿蒙平台与 Android/iOS 平台在热更新机制上存在差异,部分 plus.runtime 相关 API 在鸿蒙上的行为可能与其他平台不一致。

内容为 AI 生成,仅供参考

要回复问题请先登录注册