Android WebView内核版本的探究

因公司的很多项目都是Android和html5混合开发,会有很多页面的方法需要兼容。需要知道当前Android webview的内核是什么。

1. 介绍

Android WebView的选择有三种方案,分别是

  1. 使用Android系统自带的WebView
  2. 使用X5内核的WebView
  3. 使用基于chrome webkit的crosswalk WebView

如上述三种方案,第1个是最原始的解决方案,第2,3个则分别是腾讯,corsswalk的解决方案

几种方案的对照如下表:

方案方案说明实际效果优缺点html5test分数
系统自带WebViewAndroid默认最差优:没有额外的JAR及负担,原生API 缺: 兼容性,性能在不同手机上显示差别很大最差
X5 WebView腾讯产品,微信,QQ浏览器就是使用X5内核一般优:提供了一个兼容性的解决方案,且微信,QQ浏览器都在用,可信度高 缺: 解决的能力一般,而且某些方面反而加大了开发工作量;而且不支持cordova一般
crosswalk国外为Android提供的一个融合chrome webkit的解决方案最佳优:没有兼容性,性能问题,且支持corodva 缺:18M的包,而且区分不同的arm,x86等CPU较佳

查看当前版本,可以用WebView访问http://html5test.com/   这个地址,查看具体的类型和版本

系统自带的WebView

自带WebView

2. 更新Webview内核

  1. 下载对应你Android系统的chrome内核版本: Google个版本Webview下载(注意:可惜的是这个地址需要翻墙才行)
    这里还要注意下载的webview.apk对应你的系统版本及架构(比如我的系统是arm64 的Android 7.1.1),下载时注意下图:


    如果你编译的系统架构是arm64的就将下载下来的webview.apk替换system\app\webview\prebuilt\arm64里的webview.apk。(不同的手机操作系统,具体的路径不同)。
    修改默认的包名:/frameworks/base/core/res/res/xml/config_webview_packages.xml ,由com.android.webview 修改成com.google.android.webview
    重新编译系统源码即可。

    注意: 不要用Chrome浏览器验证,因为Chrome浏览器默认自带内核的,它不使用Android系统自带Webview内核。比如下图是我装了Chrome浏览器后用命令测试结果(其使用的是Chrome自带的81内核,而不是我系统更新的72内核):

如何更新Android源码中的Webview内核_Xiaoma_Pedro的博客-CSDN博客_android webview源码

android webView 内核对比_w2ndong的专栏-CSDN博客_android webview内核

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值