uni-app 4.45 Android 离线SDK 运行App后 Tabbar显示正常 其他页面白屏 仅标准基座正常

发布于 1周前 作者 nodeper 来自 uni-app

uni-app 4.45 Android 离线SDK 运行App后 Tabbar显示正常 其他页面白屏 仅标准基座正常

操作步骤

升级离线SDK到4.45,升级cli到 3.0.0-4040520250104002,

预期结果

标准基座和自定义基座都能正常使用

实际结果

原先的页面在离线打包的情况下,除了tabbar以外都变成空白,标准基座却能正常使用

bug描述

【报Bug】4.45 Android 离线SDK ,运行App后,只有Tabbar显示,其他页面都白屏,只有标准基座才正常

开发环境、版本号、项目创建方式

信息
产品分类 uniapp/App
PC开发环境操作系统 Mac
PC开发环境操作系统版本号 15.2
手机系统 Android
手机系统版本号 Android 11
手机厂商 小米
手机机型 Redmi Note 9 4G
页面类型 vue
vue版本 vue3
打包方式 离线
项目创建方式 CLI
CLI版本号 3.0.0-4040520250104002

11 回复

我这安卓5.0,云打包。启动页后就白屏,本地调试控制台报错: TypeError: undefined is not a function at view.umd.min.js:1 TypeError: Cannot read property ‘addVData’ of undefined at view.umd.min.js:1 Uncaught SyntaxError: Unexpected strict mode reserved word at app-view.js:20 也没解决呢


你这个问题有具体的文件和行号 app-view.js 20你看过吗?

回复 码思泉涌: app-view.js和 view.umd.min.js都是压缩后的代码,都只有一行。

回复 4***@qq.com: 哦哦

4.45 版本之后,必须集成的依赖 androidx.webkit:webkit:1.5.0,如果未集成此依赖,可能会导致白屏 https://nativesupport.dcloud.net.cn/UniMPDocs/SDKDownload/android.html#升级sdk注意事项

是这样的,那你们这个可以加在文档里

Android 9的设备现在可以了,但是Android 10 和 Android 11 的还是白屏

集成一些weex的aar以后就可以了,SDK里的包太多,希望能出一个离线SDKaar的文档,说明每个aar的用途,以及那些是必要的。

4.45 mac m2, android studio 2024, 直接运行离线包中的例子(替换了相关的appId和签名)的情况下是白屏;按上文的提示加入相关的weex也还是白屏

同样问题,至今还没解决,也没回复

针对您提到的 uni-app 4.45 在 Android 离线 SDK 环境下运行时,Tabbar 显示正常但其他页面出现白屏的问题,这通常与页面加载或资源引用相关。以下是一些可能的代码检查和调整方案,帮助您定位和解决问题。请确保您的项目结构和配置正确无误。

1. 检查页面路由配置

首先,确保所有页面的路径在 pages.json 中正确配置。例如:

{
  "pages": [
    {
      "path": "pages/index/index",
      "style": {
        "navigationBarTitleText": "首页"
      }
    },
    {
      "path": "pages/about/about",
      "style": {
        "navigationBarTitleText": "关于"
      }
    }
    // 其他页面配置...
  ],
  "tabBar": {
    "list": [
      {
        "pagePath": "pages/index/index",
        "text": "首页"
      },
      {
        "pagePath": "pages/about/about",
        "text": "关于"
      }
      // 其他tab项...
    ]
  }
}

2. 检查页面生命周期函数

确保每个页面的 onLoadonReady 等生命周期函数中没有抛出异常或导致页面无法正常渲染的代码。例如,在 pages/about/about.vue 中:

<template>
  <view>关于页面内容</view>
</template>

<script>
export default {
  onLoad() {
    // 确保这里的代码不会抛出异常
    console.log('About page loaded');
  }
}
</script>

3. 检查静态资源引用

如果页面使用了本地图片或其他静态资源,请确认这些资源的路径是否正确。例如:

<template>
  <view>
    <image src="/static/images/logo.png"></image>
  </view>
</template>

确保 /static/images/logo.png 路径正确,且文件已包含在离线SDK打包的资源中。

4. 调试日志

使用 Android Studio 或其他工具查看应用的日志输出,检查是否有错误信息或异常堆栈,这可以帮助您快速定位问题。

5. 清理和重建项目

有时候,简单的清理和重建项目可以解决一些莫名其妙的问题。尝试清理离线SDK的构建环境,重新打包并部署。

如果以上步骤仍未解决问题,建议检查 uni-app 和 Android SDK 的版本兼容性,或考虑是否有必要升级到最新版本的 uni-app。希望这些代码示例和检查步骤能帮助您解决问题。

回到顶部