我可能已经找到问题here的答案,但想知道是否有更多最新信息。
我有一个简单的“ hello world” cordova应用程序,可通过navigator.userAgent以及cordova-plugin-webview-checker
来检查webview的版本。 (Android 5.1.1)
userAgent回来了,显示的是旧版Chrome(39):
navigator Mozilla/5.0 (Linux; Android 5.1.1; rk3288 Build/LMY48Y) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/39.0.0.0 Safari/537.36
但是,webview检查器认为我使用的是最新版本>72。我在设备上安装了最新的“ Android系统Webview”。
经过一些研究,看来问题出在Android设备被“硬编码”以从com.android.webview
而不是com.google.android.webview
访问Web视图,这是查找最新版本的地方已安装的版本。
如果这确实是问题所在,那么问题是解决该问题的最轻松的方法是什么?我找不到很多问题的例子,科尔多瓦对此似乎也没有正式的解决方法。
谢谢
答案 0 :(得分:0)
要在Android上使用最新的WebView引擎,则不能使用Android System WebView或Google Chrome:
在Android 5.0之前,对Android WebView的改进仅限于操作系统升级/更新。因此,建议使用现在不推荐 Crosswalk Project作为WebView。虽然该站点不再存在,但its ghost exists on archive.org我不知道是否有足够的站点可以生存下来而有用。如果您无法更改硬件并且需要更多最新的Webkit功能,这可能是一个解决方案。
由于Crosswalk项目不再更新,或者没有所需的功能,因此我了解到Mozilla拥有GeckoView来包装其Gecko渲染引擎。
请注意,根据Mozilla的文档,它们具有自己的API,因此不是是Android的WebView的直接替代,因此必须做出一些努力才能集成到Cordova中。