// 复现:fs 未预热,报 103602
uni.installWgt({
filePath: wgtPath,
success: () => console.log("install ok"),
fail: (e) => console.log("fail", e.errCode) // 103602
})
// 规避:先预热 fs 模块,再 installWgt,成功
const fs = uni.getFileSystemManager()
fs.access({
path: wgtPath,
complete: () => {
uni.installWgt({ filePath: wgtPath, success: () => console.log("install ok") })
}
}) - 发布:2026-11-02 08:26
- 更新:2026-11-02 08:26
- 阅读:15
产品分类: 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
示例代码:
操作步骤:
- Android 真机全新安装 App,冷启动(fs 模块从未被调用过);
- 下载 wgt 到应用可读目录;
- 直接调用 uni.installWgt({ filePath: wgtPath }) 安装;
- 观察:安装失败,errCode=103602;
- 对照组:在第 3 步之前先调用 uni.getFileSystemManager().access({ path: wgtPath }) 预热 fs,再执行完全相同的 uni.installWgt 调用——安装成功。
- Android 真机全新安装 App,冷启动(fs 模块从未被调用过);
- 下载 wgt 到应用可读目录;
- 直接调用 uni.installWgt({ filePath: wgtPath }) 安装;
- 观察:安装失败,errCode=103602;
- 对照组:在第 3 步之前先调用 uni.getFileSystemManager().access({ path: wgtPath }) 预热 fs,再执行完全相同的 uni.installWgt 调用——安装成功。
预期结果:
uni.installWgt 在 fs 模块未被调用过的情况下也应正常安装成功;或者文档明确写明 installWgt 依赖 fs 模块初始化、必须先预热。
uni.installWgt 在 fs 模块未被调用过的情况下也应正常安装成功;或者文档明确写明 installWgt 依赖 fs 模块初始化、必须先预热。
实际结果:
冷启动后首次 installWgt 必报 103602,安装失败;fs 预热后同一 wgt、同一路径安装成功。首装必现(稳定复现)。
冷启动后首次 installWgt 必报 103602,安装失败;fs 预热后同一 wgt、同一路径安装成功。首装必现(稳定复现)。
bug描述:
uni-app x 项目(蒸汽模式),Android 真机全新安装 App 后,首次调用 uni.installWgt 安装 wgt 必定失败,errCode=103602。只要在 installWgt 之前先调用任意 fs 模块接口(如 uni.getFileSystemManager().access)预热 fs 模块,同一 wgt、同一路径再安装即成功。疑似 fs 模块尚未初始化时,installWgt 内部文件访问直接失败。
建议二选一:
- uni.installWgt 内部自动完成 fs 模块初始化(自预热),对调用方透明;
- 文档明示 installWgt 依赖 fs 模块初始化,需先调用 fs 接口预热。
查重:issues 系统检索 103602 / installWgt / 冷启动 无重复单。
0 个回复