uni-app新增页面后生成app离线资源,AndroidStudio生成apk安装(手机本来就有低版本的)后跳转新页面时,报错找不到页面资源

uni-app新增页面后生成app离线资源,AndroidStudio生成apk安装(手机本来就有低版本的)后跳转新页面时,报错找不到页面资源

示例代码:

uni.navigateTo({ url:’…/ceshi/ceshi?id=’ + item.id })


## 操作步骤:

新建一个页面,在点击事件里写上跳转方式(navigateTo),生成离线打包资源,在安卓studio进行打包,完毕后安装(手机本来就有低版本的)到安卓手机,安装完毕后,点击跳转,第一次报找不到页面,关掉软件重新进后点击就正常跳转了

## 预期结果:

跳转到指定页面

## 实际结果:

报错说找不到该页面资源

## bug描述:

新建一个页面,用navigateTo跳转,在基座运行正常。离线打包后安装(手机本来就有低版本的),第一次跳转时报错说找不到资源,关闭软件从新进后,就正常了

![Image](https://www.itying.com/uniimg.php?url=https://img-cdn-tc.dcloud.net.cn/uploads/questions/20210216/1673a613be94433e06443ecde6dff2c1.jpg)

更多关于uni-app新增页面后生成app离线资源,AndroidStudio生成apk安装(手机本来就有低版本的)后跳转新页面时,报错找不到页面资源的实战教程也可以访问 https://www.itying.com/category-93-b0.html

14 回复

安卓studio在调试安装是有缓存问题的。最好解决办法就是卸载手机中的apk再安装。release正式包就没有缓存问题。

更多关于uni-app新增页面后生成app离线资源,AndroidStudio生成apk安装(手机本来就有低版本的)后跳转新页面时,报错找不到页面资源的实战教程也可以访问 https://www.itying.com/category-93-b0.html


打的确实是release的

回复 1***@163.com: 编译前clear试试吧。

回复 DCloud_Android_ST: 请问具体怎么操作呢…

回复 DCloud_Android_ST: 您好 请问编译前怎么clear呢…

android studio项目 clean project 如果你还不是不懂,请百度

回复 DCloud_Android_ST: 清过了后再打包,安装完还是不可以,,,

回复 DCloud_Android_ST: 在手机上杀掉进程后再次打开进入就可以跳转了,,这是什么问题导致的啊

回复 1***@163.com: 测试时卸载手机之前安装的应用没。要卸载了 然后再安装。如果说你都按我说的操作执行了,就不应该有这个问题才对。

回复 DCloud_Android_ST: 卸载后再安装是正常的,但是用户得每次都卸载再重新安装,那多不好啊 0.0

回复 DCloud_Android_ST: 有没有其他解决办法呀0.0

回复 1***@163.com: uniapp的"version": { “name”: “xx”, “code”: “xx” }, 升级了吗

回复 DCloud_Android_ST: 解决了 十分感谢!!

这个问题的根本原因是Android应用更新时的资源加载机制导致的。当安装新版本APK时,系统不会立即清理旧版本的资源缓存,导致首次运行时可能出现资源加载不一致的情况。

解决方案:

  1. 在Android原生代码中,确保每次应用启动时强制刷新资源:
// 在App启动时调用
WebView.setWebContentsDebuggingEnabled(true);
  1. 检查Android项目中的assets目录结构是否正确,新页面是否被打包到www目录下。

  2. 在manifest.json中确认新页面路径配置正确,建议使用绝对路径:

"pages": [
    {"path": "pages/ceshi/ceshi"}
]
回到顶部