zk001
zk001
  • 发布:40 分钟前
  • 更新:39 分钟前
  • 阅读:19

【报Bug】x5内核不生效

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: windows11

HBuilderX类型: 正式

HBuilderX版本号: 5.23

手机系统: Android

手机系统版本号: Android 16

手机厂商: vivo

手机机型: vivo Y600 Pro

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

勾选x5模块,打包,使用android16版本的安卓机都能复现

预期结果:

android14-16版本能够支持x5内核

实际结果:

不支持

bug描述:

已经勾选x5内核模块,打包自定义基座,但是web-view引入的网页没生效,还是用的手机自带的内核

Mozilla/5.0 (Linux; Android 16; 2312DRA50C Build/BP2A.250605.031.A3; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/143.0.7499.192 Mobile Safari/537.36 uni-app Html5Plus/1.0 (Immersed/40.666668)

40 分钟前 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

好的,收到你的 bug 反馈。作为 DCloud 官方人员,我对这个反馈进行如下评审和分析:

1. 反馈质量评审

这个 bug 反馈的整体信息比较清晰,但在复现条件和代码示例上存在一定缺失。

  • BUG 标题与描述:标题和描述准确地概括了核心问题:勾选 x5 内核模块并打包自定义基座后,web-view 引入的网页未生效,仍使用手机自带内核。同时提供了详细的 UserAgent 信息,我们官方人员能够看懂并理解问题现象。
  • 代码示例:缺失。虽然这是一个配置与运行环境相关的问题,但提供 manifest.jsonapp-plus -> webView 节点的完整配置,以及 web-view 组件的使用代码,能帮助我们更快速地排查问题。
  • 复现步骤:描述为“勾选x5模块,打包,使用android16版本的安卓机都能复现”。步骤较为简略,未说明打包后是否等待了内核下载,以及是否进行了杀进程重启操作。由于缺少代码示例和详细的复现步骤,官方人员难以直接复现,建议补充 manifest.json 相关配置代码及更详细的操作步骤
  • 预期结果:“android14-16版本能够支持x5内核”,预期是合理的。
  • 实际结果:“不支持”,结合你提供的 UA 信息,确实表明当前使用的是系统自带的 Chrome 内核,属于功能异常。
  • 分类信息:非常完整。包含了操作系统(Win11)、HBuilderX 版本(5.23 正式版)、手机 OS 平台及版本(Android 16)、Vue 版本(Vue3)和机型(vivo Y600 Pro),这为我们排查问题提供了很好的基础。

评审结论:反馈有效,但若能提供 manifest.json 的 x5 配置代码以及最简复现工程,将极大提升问题处理的优先级和效率。


2. 问题分析与排查

根据反馈内容和知识库,我们需要从 x5 内核的加载机制和系统兼容性两个方面来分析:

  • x5 内核加载机制:根据官方文档 X5内核的注意事项,x5 使用动态热更新加载内核。云打包或自定义基座第一次安装运行时,可能 x5 还没有下载完成,此时会由系统 webview 渲染页面。必须等 x5 下载完毕后,杀掉进程重新运行,才会使用 x5 内核渲染页面。你需要确认在打包后是否给予了充足的内核下载时间并重启了应用进程。
  • 网络与环境因素:x5 内核下载可能受网络环境影响。如果在非 WiFi 环境下,默认不下载;此外,腾讯 TBS 服务器在周五周六(18:00-21:00)维护期不支持下载,频繁下载的 IP 也可能被限流。
  • Android 16 兼容性:你提到在 Android 14-16 版本都能复现。从插件市场相关 x5 插件的兼容性说明来看,部分腾讯 TBS x5 内核方案明确支持区间为 Android 5.0 - Android 13/14。由于 Android 16 是较新的系统版本,不排除当前版本的腾讯 TBS SDK 在该系统上存在兼容性问题,导致内核下载或初始化失败。

3. 解决方案与建议

建议你按以下步骤进行排查和尝试:

  1. 检查 manifest.json 配置
    确保在 manifest.jsonapp-plus 节点下正确配置了 webView 节点,特别是如果你需要在非 WiFi 环境下下载内核,需要配置 allowDownloadWithoutWiFitrue
    "app-plus": {  
        "webView": {  
            "x5": {  
                "timeOut": 30000,  
                "showTipsWithoutWifi": true,  
                "allowDownloadWithoutWiFi": true  
            }  
        }  
    }  

    本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

  2. 验证内核是否成功下载
    打包后安装到手机,连接网络(最好在 WiFi 环境下),启动应用并等待一段时间(确保非腾讯服务器维护期)。然后杀掉应用进程(不是简单的返回退出,而是强制停止),重新打开应用,检查 web-view 页面是否生效。
  3. 判断是否为 x5 内核
    可以通过 plus.navigator.getUserAgent() 判断 UA 中是否包含 MQQBrowser 关键字,来判断当前 webview 是否由 x5 渲染(详见 X5内核的注意事项)。
  4. 系统兼容性排查
    如果在 Android 16 上严格按照上述步骤操作后仍然不生效,建议找一台 Android 14 以下的老设备进行测试。如果在老设备上可以正常加载 x5 内核,则大概率是腾讯 TBS SDK 尚未完全适配 Android 16 等新系统。

如果以上步骤均无法解决,请将你的项目(可脱敏处理后)通过 issues 系统或私聊提供给官方人员,我们会结合新系统进一步深入排查。

内容为 AI 生成,仅供参考

要回复问题请先登录注册