t***@163.com
t***@163.com
  • 发布:2026-03-15 13:51
  • 更新:2026-03-15 13:52
  • 阅读:21

【报Bug】这次升级的hbuilderx plus.downloader.createDownload没反应

分类:HTML5+

产品分类: HTML5+

HBuilderX版本号: 5.03

手机系统: Android

手机系统版本号: Android 16

手机厂商: vivo

手机机型: vivo X100

打包方式: 云端

示例代码:

dtask = plus.downloader.createDownload(data.downloadUrl, {
filename: "_doc/update/"
}, function(download, status) {
if (status == 200) {
res.change({
progressValue: 100,
progressTip:"正在安装文件...",
progress: true,
buttonNum: 0
});
plus.runtime.install(download.filename, {}, function() {
res.change({
contentText: "应用资源更新完成!",
buttonNum: 1,
progress: false
});
}, function(e) {
res.cancel();
plus.nativeUI.alert("安装文件失败[" + e.code + "]:" + e.message);
});
} else {
res.change({
contentText: "文件下载失败...",
buttonNum: 1,
progress: false
});
}
});
dtask.start();
dtask.addEventListener("statechanged", function(task, status) {
switch (task.state) {
case 1: // 开始
res.change({
progressValue:0,
progressTip:"准备下载...",
progress: true
});
break;
case 2: // 已连接到服务器
res.change({
progressValue:0,
progressTip:"开始下载...",
progress: true
});
break;
case 3:
const progress = parseInt(task.downloadedSize / task.totalSize * 100);
if(progress - lastProgressValue >= 2){
lastProgressValue = progress;
res.change({
progressValue:progress,
progressTip: "已下载" + progress + "%",
progress: true
});
}

                break;  
        }  
    });

操作步骤:

无限实现下载

预期结果:

实现下载

实际结果:

无限实现下载

bug描述:

【报Bug】这次升级的hbuilderx plus.downloader.createDownload没反应

2026-03-15 13:51 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

需要补充平台分类(安卓/ios/鸿蒙/小程序)和详细的报错信息。
欢迎到专业群( HBuilderX技术交流群 ) 咨询,群中有相关专业的管理员和群友。

作为 DCloud 官方人员,对该 bug 反馈评审如下:

反馈质量评价

该反馈存在关键信息缺失和描述模糊的问题,严重影响问题定位和复现:

  1. 复现步骤与结果描述不清:"无限实现下载"这一表述无法理解具体现象(是指下载无限循环?还是完全无法触发下载?或是进度卡住?),建议补充具体的现象描述(如:是否有网络请求发出?控制台是否有报错?进度回调是否触发?)

  2. 缺少关键环境信息

    • 未说明是 uni-app 项目还是 uni-app x 项目。根据知识库,uni-app x 中已不再支持 plusweex 的 API,若该项目为 uni-app x 项目,则 plus.downloader 无法使用是预期行为
    • 未提供 Android 权限配置(Android 10+ 分区存储及 Android 11+ 的权限变更可能影响文件下载)
    • 未提供运行日志(Logcat 输出)
  3. 版本号存疑:您提到的 HBuilderX 5.03 正式版与当前知识库中最新正式版 4.87 或 alpha 5.02 不一致,请确认具体的版本号及升级路径

技术评审

代码层面存在以下潜在问题需排查:

  • 存储权限问题:代码中使用了 _doc/update/ 路径,虽然该路径位于应用私有目录,但 Android 10+ 的分区存储机制及 Android 16 的新权限模型可能要求显式申请存储权限或适配 Scoped Storage。请确认是否已在 manifest.json 中配置 WRITE_EXTERNAL_STORAGE 权限(targetSdkVersion 30+ 可能需要 MANAGE_EXTERNAL_STORAGE 或改用应用专属目录)
  • URL 有效性:请确认 data.downloadUrl 是否为有效地址,且服务器支持断点续传(Range 请求头),部分 CDN 配置可能导致下载任务状态异常

后续处理建议

为继续排查该问题,请您补充以下信息:

  1. 明确项目类型:是 uni-app(Vue2/Vue3)还是 uni-app x(uvue)?
  2. 详细现象描述:点击下载后是否有任何反应(网络请求、回调触发、错误提示)?
  3. 运行日志:提供 Android Studio Logcat 中过滤 ConsoleDCloud 的完整日志
  4. 权限配置:确认 manifest.json -> App 模块权限配置中是否勾选了文件系统相关权限
  5. 版本确认:确认 HBuilderX 具体版本号(帮助 -> 关于),以及基础库版本

若该项目确为 uni-app x 项目,请参考知识库说明:uni-app x 不再支持 plus API,建议改用 uni.downloadFile 或原生网络请求实现下载功能。

知识库中暂未检索到 HBuilderX 5.03 版本关于 plus.downloader.createDownload 的已知缺陷记录,如需进一步排查,请提供上述补充信息后重新提交。

内容为 AI 生成,仅供参考

要回复问题请先登录注册