【发布时间】:2019-08-04 18:02:55
【问题描述】:
我可能已经找到问题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 System Webview”。
经过一些研究,问题似乎源于 Android 设备被“硬编码”以从 com.android.webview 而不是 com.google.android.webview 访问 webview,这是它需要去哪里找到最新安装的版本。
如果这确实是问题所在,那么问题是解决这个问题的最轻松的方法是什么?我找不到很多问题的例子,而且 Cordova 似乎没有官方的解决方法。
谢谢
【问题讨论】:
-
在 Android 5.0 允许升级 WebView 之前,建议使用 NOW DEPRECATED Crosswalk Project 作为 WebView。虽然该站点已不存在,但its ghost exists on archive.org 我不知道该站点是否有足够的可用空间存在。如果您无法更改硬件并且需要更新的 webkit 功能,这可能是一个解决方案。
-
原来我无法root设备,所以Crosswalk是我唯一的选择。即使它已被弃用,并且它使用的 webview 不是绝对最新的,它仍然可以工作,并且基本上保存了项目!
-
非常适合您。之后发现了有关 Mozllia 的 GeckoView 的信息,并为未来的观众做出了回答。