在为客户做安卓系统定制开发时发现系统自带的浏览器会有一些小问题比如下拉框的选项点不到,滚动时卡顿。浏览器在apk中内置了webview,一般非浏览器app中使用的webview可以使用第三方的,也可以使用sdk自带的,如果使用sdk中的webview版本就会调用android system webview,adb环境下可以通过
adb shell am start -a android.intent.action.VIEW -d  https://liulanmi.com/labs/core.html  来查看webview版本。

android4.4以后,webview独立出了成为了一个系统apk,在/system/app/下,包名是com.android.webview,然后配置文件中包含了系统默认webview的包名,修改该默认包名,就可以替换System webview
修改:
从google商店下载最新的google webview替换系统里面预装的System webview
apk路径:external\chromium-webview\prebuilt
根据芯片架构替换不同目录下的apk
然后修改/frameworks/base下的配置
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
old mode 100644
new mode 100755
index 7baed78..f047834
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -2709,5 +2709,5 @@
         If review is not required, permissions are reviewed before the app
         is installed. -->
    <bool name="config_permissionReviewRequired">false</bool>
+    <string name="config_webViewPackageName" translatable="false">com.google.android.webview</string>
</resources>
diff --git a/core/res/res/xml/config_webview_packages.xml b/core/res/res/xml/config_webview_packages.xml
old mode 100644
new mode 100755
index f062b59..961b5d9
--- a/core/res/res/xml/config_webview_packages.xml
+++ b/core/res/res/xml/config_webview_packages.xml
@@ -16,6 +16,7 @@
<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">

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐