uni-app 项目新增页面后,新的apk覆盖安装旧的apk,新页面无法打开,杀掉app进程后重新进入可正常打开
uni-app 项目新增页面后,新的apk覆盖安装旧的apk,新页面无法打开,杀掉app进程后重新进入可正常打开
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| PC | Windows | HBuilderX |
| 手机 | Android | |
| Android 11 | ||
| Xiaomi | ||
| Xiaomi 11 |
产品分类:uniapp/App
PC开发环境操作系统:Windows
HBuilderX类型:正式
HBuilderX版本号:3.1.22
手机系统:Android
手机系统版本号:Android 11
手机厂商:小米
手机机型:小米11
页面类型:nvue
打包方式:云端
示例代码:
项目新增页面后,新的apk覆盖安装旧的apk后,新页面无法打开。 杀掉app进程后再次进入app后,新页面可正常打开。
### 操作步骤:
项目新增页面后,新的apk覆盖安装旧的apk后,新页面无法打开。
杀掉app进程后再次进入app后,新页面可正常打开。
预期结果:
项目新增页面后,新的apk覆盖安装旧的apk后,新页面无法打开。 杀掉app进程后再次进入app后,新页面可正常打开。
### 实际结果:
项目新增页面后,新的apk覆盖安装旧的apk后,新页面无法打开。
杀掉app进程后再次进入app后,新页面可正常打开。
bug描述:
项目新增页面后,新的apk覆盖安装旧的apk后,新页面无法打开。 杀掉app进程后再次进入app后,新页面可正常打开。
更多关于uni-app 项目新增页面后,新的apk覆盖安装旧的apk,新页面无法打开,杀掉app进程后重新进入可正常打开的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于uni-app 项目新增页面后,新的apk覆盖安装旧的apk,新页面无法打开,杀掉app进程后重新进入可正常打开的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个典型的页面缓存问题。在uni-app中,当新增页面后覆盖安装APK,旧版本的页面路由信息可能仍被缓存,导致新页面无法立即识别。
主要原因:
- uni-app的路由表在应用启动时生成并缓存
- 覆盖安装时,应用可能未完全重启,旧的页面路由缓存未更新
- 杀掉进程后强制重新初始化,路由表重新生成
解决方案:
- 清理缓存:在应用启动时调用
uni.clearStorage()清理本地存储 - 版本控制:在
App.vue的onLaunch中检查版本号,版本更新时清理缓存 - 路由检查:确保新增页面的路径在
pages.json中正确配置 - 热重启:覆盖安装后建议用户重启应用
代码示例(App.vue):
onLaunch: function() {
const currentVersion = '1.0.1' // 当前版本
const storedVersion = uni.getStorageSync('app_version')
if (storedVersion !== currentVersion) {
uni.clearStorage()
uni.setStorageSync('app_version', currentVersion)
}
}

