【问题标题】:Cordova not using the latest Android System WebviewCordova 未使用最新的 Android 系统 Webview
【发布时间】: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 的信息,并为未来的观众做出了回答。

标签: android cordova webview


【解决方案1】:

对于在 Android 上使用最新的 WebView 引擎并且您不能使用 Android System WebView 或 Google Chrome:

在 Android 5.0 之前,对 Android WebView 的改进仅限于操作系统升级/更新。所以建议使用 NOW DEPRECATED Crosswalk Project 作为 WebView。虽然该站点已不存在,但its ghost exists on archive.org 我不知道该站点是否有足够的站点存在以供使用。如果您无法更改硬件并需要更新的 webkit 功能,这可能是一个解决方案。

由于 Crosswalk 项目不再更新,或者它没有您需要的功能,我了解到 Mozilla 有一个 GeckoView 包装了他们的 Gecko 渲染引擎。

请注意,根据 Mozilla 的文档,他们有自己的 API,因此 不是 Android 的 WebView 的直接替代品,因此必须努力集成到 Cordova。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-17
    • 2023-02-20
    • 2022-11-11
    相关资源
    最近更新 更多