uni-app Android应用覆盖安装后出现启动白屏的Bug
uni-app Android应用覆盖安装后出现启动白屏的Bug
| 项目属性 | 值 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境 | Windows |
| PC开发环境版本 | win10 |
| HBuilderX类型 | 正式 |
| HBuilderX版本 | 3.1.22 |
| 手机系统 | Android |
| 手机系统版本 | Android 7.1.1 |
| 手机厂商 | rk3288 |
| 手机机型 | rk3288 |
| 页面类型 | vue |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
操作步骤:
- Android应用覆盖安装,wgt热更新
预期结果:
- 正常打开应用
实际结果:
- 覆盖安装后出现启动白屏
bug描述:
- Android应用覆盖安装后出现启动白屏的Bug
更多关于uni-app Android应用覆盖安装后出现启动白屏的Bug的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于uni-app Android应用覆盖安装后出现启动白屏的Bug的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个典型的覆盖安装后资源加载异常问题。在uni-app中,Android应用覆盖安装时,如果同时存在wgt热更新,可能会导致新旧版本资源冲突,引发启动白屏。
主要原因:
- 资源路径冲突:覆盖安装后,应用可能仍在尝试加载旧版本的wgt资源文件,但新版本的文件路径或结构已发生变化
- 缓存未清理:Android系统的WebView缓存或应用本地存储中保留了旧版本的数据
- manifest.json配置不一致:新旧版本的appid、版本号等配置不匹配
解决方案:
立即处理:
- 清除应用数据:在Android设置中彻底清除应用数据和缓存
- 重启设备:强制重启可以清除系统层面的缓存
代码层面修复:
- 检查manifest.json:确保appid、版本号等配置一致
- 添加版本检查逻辑:在App.vue的onLaunch中增加版本兼容性检查
onLaunch: function() {
// 检查本地存储的版本号与当前版本是否一致
const currentVersion = plus.runtime.version;
const savedVersion = uni.getStorageSync('app_version');
if (savedVersion !== currentVersion) {
// 版本不一致,清理缓存
plus.runtime.restart();
}
uni.setStorageSync('app_version', currentVersion);
}

