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

1. 介绍

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

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

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

几种方案的对照如下表:

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

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

系统自带的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内核

Android WebView内核版本的探究相关推荐

  1. Android手机内核版本查看

    因工作需要,需要找到不同内核型号的手机进行测试,但是手机设置里面根本查看不到相关信息. 百度了几个方法: 方法一:终端输入    adb shell getprop ro.product.cpu.ab ...

  2. Android获取Linux图像信息,Android系统信息获取 之十三:Linux内核版本信息获取

    Android系统信息获取 之十三:Linux内核版本信息获取 Android系统是基于Linux的,各个Android版本对应的Linux版本不尽相同,我们这里不去追究各个Android对应的Lin ...

  3. Android系统信息获取 之十三:Linux内核版本信息获取

    Android系统是基于Linux的,各个Android版本对应的Linux版本不尽相同,我们这里不去追究各个Android对应的Linux版本是什么,而是通过工具或者使用代码的方法去获取我们使用的A ...

  4. Android 应用(5)——android10.0升级webview浏览器内核版本

    参考链接: https://www.jianshu.com/p/a673718ef80a https://www.freesion.com/article/7856574309/ webview资源链 ...

  5. 【Android 逆向】Android 系统文件分析 ( /proc/ 目录文件分析 | 记录系统和进程信息 | version 内核版本信息文件 )

    文章目录 一.proc 目录简介 二.version 内核版本信息文件 一.proc 目录简介 进入 /proc/ 目录 , 查看该目录下的文件 , 该目录中的文件的作用 , 主要是记录系统和进程的信 ...

  6. 如何查找android emulator内核的精确版本

    android api22, arm images root@generic:/ # cat /proc/version Linux version 3.4.67-01422-gd3ffcc7-dir ...

  7. Android版本与Linux内核版本的关系

    Android版本与Linux内核版本的关系 一.Android版本与Linux内核的关系 英文名 中文名 Android版本 Linux内核版本 No 无 1.1 Cupcake 纸杯蛋糕 1.5 ...

  8. android内核网络缓存,Android WebView cache 缓存 腾讯X5内核在线视频播放

    [实例简介] Android WebView cache 缓存 腾讯X5内核在线视频播放 [实例截图] [核心代码] Terry007 └── Terry007 ├── AndroidManifest ...

  9. Android System WebView老版本大全

    Android System WebView历史版本下载_老版本大全|Android System WebView旧版本

  10. android 6.0 内核版本,ZUI 1.6版发布 内核居然是Android 6.0.1

    原标题:ZUI 1.6版发布 内核居然是Android 6.0.1 随着春季多款机型的发布,去年的手机界新兵ZUK也闲不住了.ZUK的第一款机型ZUI Z1自发布以来就以后辈的身份锐意进取,在国内手机 ...

最新文章

  1. Error: ‘\R‘ is an unrecognized escape in character string starting “‘E:\R“
  2. 自建html网页,幽灵自建的html5 的模板文件!
  3. linux tar打包大文件并分割传输另一台linux服务器
  4. libxml2用xpath进行查找
  5. 【渝粤题库】陕西师范大学202801 中国古代文学(五) 作业
  6. 程序员面试金典 - 面试题 10.02. 变位词组(哈希map)
  7. 笨方法“学习python笔记之转义序列
  8. 实验8.2 队列类的定义与实现
  9. linux让指定文件具有sudo的权限,Linux学习笔记——使用指定的用户权限执行程序——sudo...
  10. 机器学习(六)——降维处理原理
  11. java中String类和StringBuffer类实例详解
  12. window10耳机插入没有声音,电脑里没有Realtek 高清晰音频管理器解决方法
  13. matlab中四元数与三维向量的乘,四元数与三维向量相乘运算法则
  14. The scripts f2py, f2py3 and f2py3.8 are installed in ‘/home/cyd/.local/bin‘ which is not on PATH
  15. STM32L476应用开发之七:流量的PID控制
  16. Metasploit为什么选择Ruby语言(部分)
  17. Integer division by zero
  18. 人月神话札记:编程的苦恼和乐趣
  19. 数据分析--分类与回归模型(一)
  20. 如何提高领英添加好友邀请通过率的细节和方法技巧

热门文章

  1. 基于Springboot+Vue开发建筑工地用料管理系统
  2. SOUI消息订阅事件实例
  3. java前端框架有哪些_web前端框架有哪些
  4. linux centos 架构,CentOS Linux 7.5 (build 1804) 现可用于IBM POWER9体系架构
  5. Docker for Mac配置阿里加速器
  6. 如何取消计算机中的0-9,告诉你如何关闭win10易升程序
  7. dcm文件如何转化为jpg或者bmp文件
  8. plsql 导入导出数据
  9. 塑胶产品内滑块设计要点,以及注意哪些事项?
  10. Java静态代理、动态代理