skshu开发者
skshu开发者
  • 发布:2025-09-18 10:14
  • 更新:2025-09-18 10:14
  • 阅读:21

【报Bug】安卓安装了鸿蒙的wgt包后会白屏,app崩溃无法还原

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: thinkbook 16+ Windows 11 64位 :26100.4946

HBuilderX类型: 正式

HBuilderX版本号: 4.75

手机系统: Android

手机系统版本号: Android 16

手机厂商: 华为

手机机型: 小米14

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

安装wgt的代码如下

installPackage() {  
                // #ifdef APP-PLUS || APP-HARMONY  
                // wgt资源包安装  
                if (this.isWGT) {  
                    this.installing = true;  
                }  

                plus.runtime.install(this.tempFilePath, {  
                    force: false  
                }, async res => {  
                    this.installing = false;  
                    this.installed = true;  
                    console.log('安装成功',this.isWGT,this.is_mandatory)  
                    // 如果是安装之前的包,安装成功后删除之前的包  
                    if (this.installForBeforeFilePath) {  
                        await this.deleteSavedFile(this.installForBeforeFilePath)  
                        this.installForBeforeFilePath = '';  
                    }  

                    // wgt包,安装后会提示 安装成功,是否重启  
                    if (this.isWGT) {  
                        // 强制更新安装完成重启  
                        if (this.is_mandatory) {  
                            uni.showLoading({  
                                icon: 'none',  
                                title: '安装成功,正在重启……'  
                            })  

                            setTimeout(() => {  
                                uni.hideLoading()  
                                this.restart();  
                            }, 1000)  
                        } else {  
                            uni.showLoading({  
                                icon: 'none',  
                                title: '安装成功,重启应用体验新版',  
                                duration: 1000  
                            })  
                        }  
                    }  
                }, async err => {  
                    // 如果是安装之前的包,安装失败后删除之前的包  
                    if (this.installForBeforeFilePath) {  
                        await this.deleteSavedFile(this.installForBeforeFilePath)  
                        this.installForBeforeFilePath = '';  
                    }  

                    // 安装失败需要重新下载安装包  
                    this.installed = false;  

                    uni.showModal({  
                        title: '更新失败',  
                        content: err.message,  
                        showCancel: false  
                    });  
                });  

                // 非wgt包,安装跳出覆盖安装,此处直接返回上一页  
                if (!this.isWGT) {  
                    uni.navigateBack()  
                }  
                // #endif  
            }

操作步骤:

1、Hbuilderx点击发行,制作wgt包,选择Android/iOS进行打包,升级中心上传包,鸿蒙next点击更新,下载安装包后安装,重启,白屏崩溃,
2、Hbuilderx点击发行,制作wgt包,选择Harmony,升级中心上传包,安卓点击更新,下载安装包后安装,重启,白屏崩溃

预期结果:

以上操作是复现万一开发者在上传错wgt的情况下会发生的情况,希望即使用户在更新错wgt的情况下不能白屏,就不更新此版本,系统能正常运行,等待开发者再次上传正确的wgt包,并且希望在打普通wgt和鸿蒙wgt生成的包名有所区分,减少错误发包的情况

实际结果:

安装不同平台的wgt后白屏系统无法正常运行,也无法再次更新

bug描述:

使用官方的升级中心进行wgt增量更新,安卓app下载安装了鸿蒙的wgt包后白屏(打包时显示如果目标平台没有用鸿蒙条件编译,那么鸿蒙wgt和普通wgt是一样的),同样鸿蒙next安装了普通的wgt包也是白屏,系统崩溃

2025-09-18 10:14 负责人:无 分享
已邀请:

要回复问题请先登录注册