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

傻傻虎虎 2024-08-16 14:03:01 阅读 91

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

前言X5 腾讯组件crosswalk开源项目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 很像,在进行布局构建时,组件选择 <code>com.tencent.smtt.sdk.WebView ,然后其余方法基本使用跟webview 一样。在腾讯TBS开发指引 里面有很清楚的介绍,而且还可以下载最新的SDK。

<com.tencent.smtt.sdk.WebView

android:id="@+id/web"code>

android:layout_width="match_parent"code>

android:layout_height="match_parent"code>

android:fitsSystemWindows="true"code>

app:layout_constraintBottom_toBottomOf="parent"code>

app:layout_constraintEnd_toEndOf="parent"code>

app:layout_constraintStart_toStartOf="parent"code>

app:layout_constraintTop_toTopOf="parent" />code>

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

crosswalk开源项目

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

在这里插入图片描述

<code><org.xwalk.core.XWalkView

android:layout_width="match_parent"code>

android:layout_height="match_parent"code>

android:id="@+id/web"/>code>

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

在这里插入图片描述

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

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

在这里插入图片描述

<code> <WebView

android:id="@+id/webview"code>

android:layout_width="match_parent"code>

android:layout_height="match_parent" />code>

总结

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

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

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

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

在这里插入图片描述

资源已经上传,有需要自行下载即可。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。