5***@qq.com
5***@qq.com
  • 发布:2026-11-02 08:46
  • 更新:2026-11-02 08:46
  • 阅读:15

【报Bug】installWgt 传 /sdcard/ 绝对路径被拼到 www 根下致安装失败

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 10

HBuilderX类型: 正式

HBuilderX版本号: 5.33.2026102401

手机系统: Android

手机系统版本号: Android 14

手机厂商: 模拟器

手机机型: Pixel 5(x86_64 模拟器 avd acc34)

页面类型: vue

vue版本: vue3

打包方式: 离线

项目创建方式: HBuilderX

示例代码:
// 失败:绝对路径被拼接到 www 资源根下  
uni.installWgt({  
  filePath: '/sdcard/Download/app.wgt',  
  fail: (e) => console.log('fail', e)  
})  

// 成功:unifile:// 形态  
uni.installWgt({  
  filePath: 'unifile://cache/app.wgt',  
  success: () => console.log('install ok')  
})

操作步骤:
  1. Android(模拟器)下载 wgt 到公共目录 /sdcard/Download/app.wgt;
  2. 调用 uni.installWgt({ filePath: '/sdcard/Download/app.wgt' });
  3. 观察:安装失败,路径被拼接到应用 www 资源根下(形如 <www根>/sdcard/Download/app.wgt),报找不到文件;
  4. 对照组:将 wgt 放入应用 cache 目录,以 unifile://cache/app.wgt 调用 uni.installWgt——安装成功。

预期结果:

绝对路径(/sdcard/...)应被识别为绝对路径并安装成功;或者文档明确写明 installWgt 的 filePath 只支持 unifile:// 形态。

实际结果:

/sdcard/ 绝对路径被改写拼接到 www 资源根下导致安装失败;必须改用 unifile://cache|sandbox/ 形态才能安装成功。HBuilderX 5.33.2026102401(Android 蒸汽模式)上仍复现。

bug描述:

uni.installWgt({ filePath }) 传入 /sdcard/... 形态的绝对路径时安装失败:该绝对路径被当作相对路径拼接到应用 www 资源根下,导致找不到 wgt 文件。必须改用 unifile://cache/ 或 unifile://sandbox/ 形态的路径才能安装成功。

关联 issue:#33361「convert2AbsFullPath不支持SD卡路径文件」标记为已发版 5.33.2026102401,但在该版本上 installWgt 场景下 /sdcard/ 绝对路径仍被拼接到 www 根下——疑似该修复未覆盖 installWgt 调用链,或存在回归。

建议二选一:

  1. convert2AbsFullPath 对以 / 开头的绝对路径原样返回(兼容绝对路径),installWgt 链路同样兼容;
  2. 文档明示 installWgt 的 filePath 只接受 unifile://cache|sandbox/ 形态。
2026-11-02 08:46 负责人:无 分享
已邀请:

要回复问题请先登录或注册