1***@qq.com
1***@qq.com
  • 发布:2023-11-28 17:16
  • 更新:2023-11-29 09:17
  • 阅读:481

uni.downloadFile下载的apk,安装的时候提示【解析软件包时出现问题】

分类:uni-app

uni.downloadFile下载的apk,安装的时候提示【解析软件包时出现问题】,通过浏览器的链接下载就能正常安装

请教各位大佬,知道原因不。

2023-11-28 17:16 负责人:DCloud_UNI_OttoJi 分享
已邀请:
DCloud_UNI_OttoJi

DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信

请补充更多信息,目前信息太少,无法判断。

比如打印 uni.request 和直接下载的 url 是否一致,分析下载方是否对下载 ua 有特殊判断。

  • 1***@qq.com (作者)

    我在新的楼层回复了下载链接的相关文问题,麻烦帮我看下哈

    2023-11-29 09:17

1***@qq.com

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可以安装

要回复问题请先登录注册