【Android Studio】Webview 内核升级得三种方法

前言

在APP 中进行网页加载,一般采用原生自带的Webview 组件,但在需要加载高版本网页的时候,有时候会遇到加载失败的情况,究其原因主要是内核版本太低,导致加载失败。该组件使用的内核在Android 4.4 (API 19)前 ,主要用得是webkit 的内核;Android 4.4后,直接使用的是Chrome内核。目前Chrome内核已经到了120+,时常会遇到问题,谷歌浏览器可以正常加载网页,但内嵌网页加载就是不行。因此,基于这种情况,考虑进行Webview 组件内核的升级。

可用于检测内核版本的网址: https://liulanmi.com/labs/core.html

关于内核升级,目前主要有3种方法 :

  • 用 X5 腾讯组件,替换Webview 加载网页
  • 用intel 的crosswalk开源项目
  • 在Webview 基础上升级加载的内核

X5 腾讯组件

它跟webview 很像,在进行布局构建时,组件选择 com.tencent.smtt.sdk.WebView ,然后其余方法基本使用跟webview 一样。在腾讯TBS开发指引 里面有很清楚的介绍,而且还可以下载最新的SDK。

<com.tencent.smtt.sdk.WebView
         android:id="@+id/web"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:fitsSystemWindows="true"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toTopOf="parent" />

但是运行后会发现,依旧无法加载网页,虽然导入了 SDK 库,但无法进行内核下载,故无法使用。直接访问说明中的内核下载连接,不能访问。在网上找了一圈,是由于X5内核开始收费了,所以该方法无法解决问题

crosswalk开源项目

用这个方案,一开头就碰到问题,crosswalk的官方网站不能进了,那么库也就不能下,刚好碰到Intel 服务器崩了,我都怀疑是不是因为这个原因。后来到是在CSDN上下载了 支持ARM 和X86 的 crosswalk-23.53.589.4.aar ,但导入后,运行是正常了,但显示内核版本更低了,离要求的远远达不到。后来查看了原因,原来是这个项目早就停了…

在这里插入图片描述

<org.xwalk.core.XWalkView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/web"/>

而且这边发现原生的都比它高,当然也有可能跟加载的crosswalk-23.53.589.4.aar版本低有关系吧,由于无法进官网,导致这个也无法确定原因。
在这里插入图片描述

webview升级加载的内核(完美解决)

这个只能说真得是强得离谱,直接用外部下载的内核去进行webview 替换,然后每次初始化内核时,进行加载。而且可以选择arm 或者x86 ,内核版本目前都是120+的,很舒服。webview 使用还是跟之前的一模一样,只是加了内核升级这一过程。

在这里插入图片描述

 <WebView
        android:id="@+id/webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

总结

  • 目前三个方案的demo ,已经都整理,直接可以运行使用。

  • 升级的内核资源已经都下载,方便后续直接内嵌,目前demo 里面是采用在线下载这个方式,当然也是可以的。

  • 在采用在Webview 基础上升级加载的内核 方案时,由于第三库是开源的,我已经从github上下载下来,可以方便阅读理解。

  • 对这些文件的说明,以及研究内核升级过程中借鉴的资料链接,已经都整理在了 说明 中,方便后续查看。

在这里插入图片描述

  • 资源已经上传,有需要自行下载即可。
  • 13
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Android 一键升级 WebView 内核是指在 Android 系统中,通过一键操作来完成 WebView 内核升级过程。在 Android 平台上,WebView是一个内置的浏览器组件,用于显示网页内容。WebView 的核心引擎是基于谷歌的开源项目 Chromium 开发的,因此随着时间的推移,谷歌会不断更新和改进 WebView内核。 为了安全性和性能的考虑,升级 WebView 内核变得非常重要。随着新的安全漏洞和性能改进的不断出现,保持 WebView 内核始终为最新版本可以增强用户的浏览体验,并提供更好的安全性。 为了简化用户的操作,开发者们创建了一键升级 WebView 内核的解决方案。这些解决方案通常是一个应用程序或库,可以检测设备上的 WebView 内核版本,然后下载并安装最新版本的内核。 一键升级 WebView 内核通常包括以下步骤: 1. 检测设备上的当前 WebView 版本。 2. 从服务器上获取最新的 WebView 内核版本。 3. 下载最新的 WebView 内核。 4. 安装新的 WebView 内核。 5. 更新相关配置和设置。 通过简化这些步骤,用户只需点击一个按钮或执行一次操作,便可以完成整个升级过程,而不需要手动下载和安装 WebView 内核。 一键升级 WebView 内核使得开发者可以更容易地为用户提供 WebView 的最新版本和安全性保障。同时,用户也能够享受到更好的浏览体验和更高的安全级别。因此,对于开发和使用 Android 应用程序的用户来说,一键升级 WebView 内核是非常有价值的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

傻傻虎虎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值