6.3 Poco如何支持WebView检视¶
Poco对WebView的检视的支持程度,主要取决于WebView本身的兼容性情况,目前兼容性最好的WebView方案是 Google-WebView
。有一些Android手机上使用了其他类型的WebView支持,导致Poco无法检视WebView内容,也就造成了目前微信小程序无法使用Poco进行测试的问题。
以下将会讲解如何设置Android设备上的WebView支持,以确保我们可以使用Poco检视普通App中的WebView。
WebView¶
Android自带WebView¶
在Android手机中内置了一款高性能webkit内核浏览器,在SDK中封装为一个叫做WebView组件。
如果把一个浏览器比作一辆汽车,我们可以认为webkit内核是他们的发动机,WebView是这辆车的引擎加传动装置。
安卓系统中默认自带的webview包名为 com.android.webview
。
浏览器和WebView的关系¶
许多安装包比较大的浏览器,它们内置了自己的内核或者将别家的内核加以改造,和安卓内WebView并没有什么关系。 如QQ浏览器、UC浏览器、Chrome浏览器等。
如何设置Android设备上的WebView¶
安卓系统自带WebView版本老旧,一般跟随系统进行升级。 不过现在还有另一种方法,就是安装Google-WebView,调用其进行渲染让我们的浏览体验变得更好。 目前很多手机内已经内置并且采用了Google-WebView,只需要升级即可。 升级方法:下载最新版Google-WebView包,安装时部分系统会提示升级,请升级。
- 点击
开发者选项
-WebView实现
:
- 优先选择
Google WebView
(兼容性最好),其次选择AOSP WebView
(安卓自带):
微信/QQ上的WebView选择¶
问题¶
微信和QQ内置的浏览器内核不是Android原生的WebView,而是他们自家的 X5 WebView
内核。其实就是腾讯浏览服务(Tencent Browsing Service, TBS),它目前可能存在各种问题:
比如没有严格遵照fonts.xml实现多字重挂载,替换多字重后会自动变成伪粗体。 网页加载速率低,许多微信页面第二次才能正常打开。
如果想解决以上问题,可以切换到系统WebView内核。
打开调试页面¶
腾讯保留了一个TBS调试页面 debugtbs.qq.com
,本来是方便开发者安装TBS内核的,但是我们用的是它的删除功能。
首先我们需要在内置浏览器中点开一个调试页面,方法是在微信聊天窗口中,向任意好友发送这个网址 http://debugtbs.qq.com/
,然后点开它:
清除TBS内核¶
将最下方的的 强制使用系统内核
打开,并且 清除TBS内核
,做完之后重启微信/QQ。
再进入这个页面,点击 查看版本信息
。如果版本信息为 0(null)
则设置成功。
注意事项¶
- 如果将系统内的WebView切换后出现卡顿的情况,可能是系统兼容问题,可以切换回去即可。
- 如果在切换后发现仍然无法检视到WebView内容,可能是某些系统暂时不支持Accessibility,因此导致Poco暂时无法兼容。