y***@weekeyan.com
y***@weekeyan.com
  • 发布:2023-12-14 11:03
  • 更新:2023-12-14 15:41
  • 阅读:429

【报Bug】app热更新,最近频繁出现“WGT安装包中manifest.json文件不存在”

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.98

手机系统: Android

手机系统版本号: Android 14

手机厂商: 小米

手机机型: 小米12pro

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

plus.runtime.getProperty(plus.runtime.appid, function(widgetInfo) {
let currentVersion = widgetInfo.version.replace(/./g, ""); //获取当前版本号
getVersion().then(resData =>{
console.log("http版本信息", resData)
let newVersion = resData.version.replace(/./g, "");
console.log("版本信息", currentVersion, newVersion)
if (Number(currentVersion) < Number(newVersion)) {
console.log("更新")
uni.showModal({
title: '发现新版本',
content: '请进行热更新',
showCancel: false,
success: function(res) {
if (res.confirm) {
uni.showLoading({
mask: true,
title: '正在更新中,请稍等',
})
uni.downloadFile({
url: resData.url,
success: (downloadResult) => {
uni.hideLoading()
plus.runtime.install(
downloadResult
.tempFilePath, { force: true },
function() {
// 应用热重启,重新启动进入首页。
uni.showModal({
title: '安装成功!',
content: '请点击重启按钮,重新进入应用',
showCancel: false,
confirmText: '重启',
success: function(res) {
if (res.confirm) {
plus.runtime.restart();
} else if(res.cancel) {
plus.runtime.quit(); // 退出应用
}
}
});
},
function(e) {
console.log("安装失败", e)
uni.showToast({
title: '安装失败',
icon: 'none'
})
plus.runtime.quit(); // 退出应用
})
},
fail: (err) => {
uni.hideLoading()
uni.showToast({
title: '下载失败',
icon: 'none'
})
plus.runtime.quit(); // 退出应用
}
})
} else if (res.cancel) {
uni.showToast({
title: '已取消',
icon: 'none'
})
plus.runtime.quit(); // 退出应用
}
}
})

                    }  
                }).catch(e =>{  
                    console.log("获取http版本失败", e)  
                })  
            })

操作步骤:

简单修改下工程里面的js或是页面代码。
修改manifest中的应用名称和应用版本号,在原来的基础上加1
点击发行-原生app-制作应用wgt包
触发app热更新

预期结果:

实际版本号变化了,会正常触发热更新,并且在没修改模块改变基座的情况下,理应每次都成功

实际结果:

但是偶尔能成功,偶尔又失败

bug描述:

同样的工程,我只是改了一行代码,修改了应用版本名称和应用版本号,在原来的基础上加1,然后选择,发行-》制作wgt。
上传wgt包到服务器触发热更新。
同样的更新代码,去年一直没报这个错误,就在最近这半个月时常出现,最近经常出现热更新失败,错误提示
“WGT安装包中manifest.json文件不存在”
我打开了wgt包,里面是存在manifest.json,下载地址我也试了是正常,如果是下载地址有问题就不可能偶尔成功偶尔又失败。
我只修改了manifest配置文件中的应用版本号和应用名称,并且我只是简单的修改了我的前端代码而已,为什么最近大概半个月到一个月这段时间,就频繁出现这个问题。

2023-12-14 11:03 负责人:无 分享
已邀请:

最佳回复

y***@weekeyan.com

y***@weekeyan.com (作者)

已解决,下载的链接不能带有下划线

  • uni大法好

    我改了后依然还是 报这样的错

    2024-08-19 18:09

y***@weekeyan.com

y***@weekeyan.com (作者)

前天我重新把hbuild重新安装了一遍,安装之前其实我看了,编译器是最新的,插件也是最新的,我还是重新安装了,今天又是。昨晚重新打的包进去,今天我就改了一行代码,打了个热更新的包,还是失败了

y***@weekeyan.com

y***@weekeyan.com (作者)

重新打了基座后再打一个wgt,还是一样的,今天不管怎么试,都热更新失败
plus.runtime.install 时 就会报一个
{
"code": -1202,
"message": "WGT安装包中manifest.json文件不存在"
}

  • 7***@qq.com

    问题解决了吗,我也遇到了这个 bug

    2025-02-18 15:50

要回复问题请先登录注册