uni.downloadFile下载的apk,安装的时候提示【解析软件包时出现问题】,通过浏览器的链接下载就能正常安装
请教各位大佬,知道原因不。
DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信
请补充更多信息,目前信息太少,无法判断。
比如打印 uni.request 和直接下载的 url 是否一致,分析下载方是否对下载 ua 有特殊判断。
1***@qq.com (作者)
plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => {
console.log('wgtinfo', wgtinfo)
console.log('版本号', wgtinfo.versionCode)
version({
versionCode: wgtinfo.versionCode
}).then(res => {
console.log('res', res)
if (res.code == 200) {
const versionInfo = res.data;
console.log('versionInfo', versionInfo)
console.log('versionInfo.url', versionInfo.url)
// 下载最新版本
that.dt = uni.downloadFile({
url: versionInfo.url,
success(res) {
console.log('res', res)
if (res.statusCode == 200) {
console.log('临时文件地址:', res.tempFilePath)
console.log('下载文件百分比:', this.down_percent)
// this.$refs.progressPopup.close();
that.showProgress = false;
uni.showModal({
title: "下载完成,即将安装",
showCancel: true,
success: () => {
plus.runtime.install(plus.io
.convertLocalFileSystemURL(
res.tempFilePath), {},
function() {
console.log('success');
plus.runtime.restart();
},
function(error) {
console.log('error',
error)
console.log(error
.message)
uni.showToast({
title: "安装失败",
duration: 1500
})
})
},
fail(err) {
console.log('err', err)
},
complete(com) {
console.log('com', com)
}
})
}
},
fail(err) {
console.log('err', err)
}
})
that.showProgress = true;
that.dt.onProgressUpdate((res) => {
this.down_percent = res.progress
// console.log('下载进度' + res.progress);
});
} else if (res.code == 400) {
uni.showToast({
title: res.msg,
icon:"none",
})
} else {
uni.showToast({
title: "更新失败",
icon:"none",
})
}
}).catch(err => {
console.log('err', err)
uni.showToast({
title: "更新失败",
icon:"none",
})
})
})
我直接在浏览器下载https://stapp.tesho.cn/package/stapp-test2.apk可以安装
1***@qq.com (作者)
我在新的楼层回复了下载链接的相关文问题,麻烦帮我看下哈
2023-11-29 09:17