HarmonyOS鸿蒙Next中腾讯 TBS X5的SDK(版本:44226)是否支持WebView内核鸿蒙化?

HarmonyOS鸿蒙Next中腾讯 TBS X5的SDK(版本:44226)是否支持WebView内核鸿蒙化? 【问题描述】:我们项目有用到腾讯 TBS X5的SDK,版本:44226,用途是 WebView 内核,是否支持鸿蒙化呢?

【版本信息】:44226

10 回复

尊敬的开发者,您好,
关于您反馈的问题,建议您直接联系三方SDK开发者,通过其官方渠道进行沟通。

更多关于HarmonyOS鸿蒙Next中腾讯 TBS X5的SDK(版本:44226)是否支持WebView内核鸿蒙化?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


背景知识:

楼主使用腾讯 TBS X5的SDK,底层都是WebView修改的。同样HarmonyOS中也时有webview控件的,他就是web控件 可以结合文档来处理自己需要的功能。如:

1、JS调用ArkUI方法

2、拦截a标签事件

3、读取或者写入UA信息

问题解决:

class JsBridge {
    // 声明可供H5调用的方法清单
    methods = ['getDeviceInfo'];

    getDeviceInfo(): string {
        return JSON.stringify({ os: 'HarmonyOS', version: '5.0' });
    }
}



 controller: webview.WebviewController = new webview.WebviewController()
 common.UIAbilityContext = this.getUIContext().getHostContext() as common.UIAbilityContext


 Web({
    controller: this.controller,
    src: "http://192.168.20.198:8000/ua.html"//$rawfile("test.html")
}).cacheMode(CacheMode.Online)
    .javaScriptAccess(true)
    .javaScriptProxy({
        //1、注册一个 client代理给到 js的windows,让js可以调用到定义的方法
        object:this.jsBridge,
        name:"client",
        methodList:this.jsBridge.methods,
        controller:this.controller
    })
    .onUrlLoadIntercept((event)=>{
        //2、 a 标签拦截
        const url = event?.data
        return false
    })
    .onControllerAttached(()=>{
        //3、获取UA
        const UAText = this.controller.getUserAgent()
        // 写入UA
        this.controller.setCustomUserAgent(UAText+"/xxx")
        
    })

腾讯 TBS X5 44226 是 Android WebView 内核体系,原生 HarmonyOS NEXT HAP 不能直接鸿蒙化使用。鸿蒙原生侧建议改用 ArkWeb Web 组件,实现页面加载、JSBridge、Cookie、文件选择、下载、权限等能力;除非腾讯单独发布 HarmonyOS 适配 SDK。

只有SDK发布的包,不支持,内核架构不一样。
有x5源码另说。

如果你们说的是:

腾讯 TBS X5 WebView SDK
版本 44226

并且目标是:

HarmonyOS NEXT / 鸿蒙化

那结论其实比较明确:

目前基本不支持直接鸿蒙化。

原因不是:

“版本太老”。

而是:

TBS X5 本质是 Android WebView 内核体系。

它依赖:

  • Android Framework
  • Android Context
  • Activity
  • AOSP WebView机制
  • APK生态
  • Dalvik/ART相关能力

而:

HarmonyOS NEXT(纯血鸿蒙)已经:

不再兼容 AOSP

只能运行:

原生 HAP

华为官方也明确提到:

HarmonyOS NEXT 不再包含 Android AOSP 兼容层,需要应用进行原生鸿蒙适配。

所以:

Android版 X5 SDK

无法直接在:

HarmonyOS NEXT

运行。

——————————

你们现在需要先区分:

情况1:HarmonyOS 4.x(兼容安卓)

如果你们是:

HarmonyOS 4.x

例如:

  • 卓易通
  • Android兼容模式
  • 兼容AOSP设备

那:

X5 44226 大概率还能继续跑

因为本质上:

还是 Android 环境。

很多 Android App 在 HarmonyOS 4 里:

X5 是能正常工作的。

——————————

情况2:HarmonyOS NEXT / 原生鸿蒙

这个才是关键。

如果你们现在要做:

鸿蒙原生应用(ArkTS/HAP)

那么:

X5 目前没有官方 HarmonyOS NEXT 原生 SDK。

至少目前公开生态里没有。

也就是说:

你不能:

implementation 'com.tencent.tbs:x5'

然后直接在 ArkTS 里用。

因为:

  • 没有 ArkTS API
  • 没有 OHOS Native 封装
  • 没有 HAP版 runtime
  • 没有 NEXT 适配

——————————

你们现在真正应该考虑的是:

“为什么必须用 X5?”

很多 Android 项目依赖 X5 的原因:

兼容低版本 Android WebView

——————————

统一 Chromium 内核

——————————

视频播放兼容

——————————

JSBridge

——————————

H5性能优化

——————————

但:

HarmonyOS NEXT 里:

系统已经是:

ArkWeb

体系。

很多以前 X5 解决的问题:

现在已经不存在了。

——————————

目前鸿蒙原生里:

真正推荐的是:

ArkWeb / Web组件

官方路线。

因为:

HarmonyOS NEXT 整个 Web 体系就是:

ArkWeb。

——————————

如果你们项目:

只是普通 H5 容器:

例如:

  • Vue
  • React
  • uniapp
  • h5业务页

实际上:

ArkWeb 已经足够替代 X5。

——————————

但如果你们依赖 X5 的高级能力:

例如:

  • 文件预览
  • TBS Reader
  • office预览
  • X5播放器
  • X5缓存体系
  • 特殊JSBridge

那就需要:

重新做鸿蒙原生适配。

不能直接迁移。

——————————

还有一个现实问题:

X5 的更新其实已经明显偏 Android 生态。

腾讯目前:

  • 微信
  • QQ
  • 腾讯视频

在鸿蒙 NEXT 上,

更多也是:

重新适配原生鸿蒙

而不是:

“直接移植 Android X5”。

这点其实已经能说明方向了。

——————————

所以你们现在的正确路线应该是:

如果目标:

HarmonyOS NEXT 原生化

建议:

放弃直接接入 Android X5 SDK

——————————

评估:

ArkWeb 能否满足需求

——————————

把:

  • JSBridge
  • 文件下载
  • H5交互
  • 离线缓存

迁移到 ArkWeb 体系

——————————

特殊能力单独重构

例如:

  • PDF
  • Office
  • 视频播放器

——————————

最后给你一个很现实的结论:

腾讯 X5 ≠ HarmonyOS NEXT WebView方案

目前:

HarmonyOS NEXT 官方路线是 ArkWeb

不是 X5。

有要学HarmonyOS AI的同学吗,联系我:https://www.itying.com/goods-1206.html

这个要看腾讯 TBS X5的SDK 是否支持鸿蒙了,我看目前似乎还是仅Android支持
你只有通过鸿蒙原生 arkWeb提供的web组件,类似Android webview去处理和h5的交互
目前所有功能基本都可以实现和Android一致效果

如果只是用到Web组件的话,鸿蒙原生的Web组件就可以满足你所有需求~~

使用场景

ArkWeb(方舟Web)提供了Web组件,用于在应用中显示Web页面内容。常见使用场景包括:

  • 应用集成Web页面:应用可以在界面中使用Web组件,嵌入Web页面内容,以降低开发成本,提升开发、运维效率。
  • 浏览器网页浏览场景:浏览器类应用可以使用Web组件,打开三方Web网页,使用无痕浏览模式浏览Web页面,设置广告拦截等。
  • 小程序:小程序类宿主应用可以使用Web组件,渲染小程序的页面,实现同层渲染,视频托管等小程序的功能。

能力范围

Web组件为开发者提供了丰富的控制Web页面能力。包括:

  • Web页面加载:声明式加载Web页面和离屏加载Web页面等。
  • 生命周期管理:组件生命周期状态变化,通知Web页面的加载状态变化等。
  • 常用属性与事件:User-Agent开发指导管理Cookie及数据存储、字体与Web深色模式适配、权限管理等。
  • 与应用界面交互:自定义文本选择菜单、上下文菜单、文件上传界面等与应用界面交互能力。
  • 应用通过JavaScriptProxy,与Web页面进行JavaScript交互。
  • 安全与隐私:无痕浏览模式、广告拦截、坚盾守护模式等。
  • 维测能力:DevTools工具调试能力,使用crashpad收集Web组件崩溃信息、定位与解决Web白屏问题、使用Hypium实现ArkWeb自动化测试。
  • 其他高阶能力:与系统组件同层渲染、Web组件的网络托管、Web组件的媒体播放托管、Web组件输入框拉起自定义输入法、网页接入密码保险箱等。

详见开发文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/web-component-overview

该SDK(版本44226)是为Android平台设计的,不支持鸿蒙Next的纯鸿蒙化WebView内核。鸿蒙Next采用ArkWeb引擎,需使用鸿蒙原生Web组件,TBS X5未完成鸿蒙适配。

腾讯TBS X5 SDK (版本44226) 目前不支持 HarmonyOS NEXT(纯鸿蒙)环境。
该 SDK 基于 Android 原生 WebView 内核构建,而 HarmonyOS NEXT 不再兼容 Android 框架,无法直接运行 TBS。建议使用鸿蒙原生 Web 组件替代。

回到顶部