[RK3399][Android7.1.1]Webview:更新webview到最新版本

测试平台

Platform: RK3399
OS: Android 7.1.1

现象

首先查看当前webview的版本,使用如下命令查询

adb shell am start -a android.intent.action.VIEW -d https://liulanmi.com/labs/core.html

可以得知当前的版本为52.0.2743.100

[RK3399][Android7.1.1]Webview:更新webview到最新版本_第1张图片

分析

查看系统后发现现在的webview已经被封装为单独的apk,放置在/system/app/webview/webview.apk路径下。而且系统提供了自主配置webview引擎的接口,如下可知默认的是系统内置的webview(包名为com.android.webview)

frameworks/base/core/res/res/xml/config_webview_packages.xml

<webviewprovider 
description="Android WebView" 
packageName="com.android.webview" availableByDefault="true">  </webviewprovider>

``

解决方案

知道系统如何配置默认webview引擎要解决就简单了
1.下载google最新发布的webview(webview_83.0.4103.106.apk),安装或内置到系统中,覆盖原/system/app/webview/webview.apk或者放到新的目录中也可(如/system/app/googlewebview/googlewebview.apk)

2.因为google发布的webview包名为com.google.android.webview和系统内置的不同,所以我们还需要修改默认的webview引擎

diff --git a/frameworks/base/core/res/res/xml/config_webview_packages.xml b/frameworks/base/core/res/res/xml/config_webview_packages.xml
index f062b59..9c4d65a 100644
--- a/frameworks/base/core/res/res/xml/config_webview_packages.xml
+++ b/frameworks/base/core/res/res/xml/config_webview_packages.xml
@@ -16,6 +16,6 @@
 
 <webviewproviders>
     <!-- The default WebView implementation -->
-    <webviewprovider description="Android WebView" packageName="com.android.webview" availableByDefault="true">
+    <webviewprovider description="Android WebView" packageName="com.google.android.webview" availableByDefault="true">
     </webviewprovider>
 </webviewproviders>

注:我这里是直接替换了原来的webview包名,其实也可以添加多一个,应该也可以实现效果相同的效果

 <webviewproviders>
     <!-- The default WebView implementation -->
    <webviewprovider description="Android WebView" packageName="com.android.webview" availableByDefault="false"/>
    <webviewprovider description="Google Android WebView" packageName="com.google.android.webview" availableByDefault="true"/>
 </webviewproviders>

3.编译并更新固件后再次运行命令查询当前webview版本号

adb shell am start -a android.intent.action.VIEW -d https://liulanmi.com/labs/core.html

发现版本号已经更新到83.0.4103.106,更新成功

[RK3399][Android7.1.1]Webview:更新webview到最新版本_第2张图片

你可能感兴趣的:(Android,webview)