【问题标题】:Enabling WebGL support for Android WebView为 Android WebView 启用 WebGL 支持
【发布时间】:2013-03-13 19:58:52
【问题描述】:

我需要在我的 webview 中显示 WebGL 图形。有什么方法可以修改 Android WebView 以启用 WebGL。如果是,如何?

【问题讨论】:

    标签: android graphics webview webgl


    【解决方案1】:

    在 Android Lollipop 之前的 WebView 中不支持 WebGL。在 KitKat 中,Android 切换到 Chromium 作为本机 WebView 实现,但它被锁定为 Chromium 33,没有 WebGL。在 Lollipop 中,WebView 通过 Play 商店更新,现在支持 WebGL。 (来源:https://developer.chrome.com/multidevice/webview/overview

    尝试扩展 WebView 以支持它几乎是不可能的。

    您可能会考虑的一件事是使用 CSS 3D 转换而不是 WebGL,Android ICS 和转发都支持这些转换,请参阅 http://caniuse.com/#feat=transforms3d

    【讨论】:

    • (更新)如果它对其他人有帮助:Android 4.4 (KitKat) 包含一个基于 Chrome 的 WebView,但禁用了 WebGL。 Android 5.0 (Lollipop) 包括一个基于 Chromium M37 的 WebView,它支持 WebGL 等。此外,它可以通过 Google Play 升级。见:developer.android.com/about/versions/lollipop.html#WebView
    • 随着昨天的 Android 设备更新,Google Chrome v77.0.3865.92 更新会导致 Android 应用程序的 webView 不支持 WebGL,如果您使用的话。我的项目不见了:(
    【解决方案2】:

    当前的 Android webview 不支持 WebGL,但是您可以使用 crosswalk-project,它是一个支持 WebGL 的 Web 运行时,并将其与您的 WebGL 应用程序一起打包到 Android 应用程序中。最新的Intel XDK 支持使用人行横道运行时构建 Android 应用。

    【讨论】:

      【解决方案3】:

      您可以使用 Chrome Beta 应用或 Firefox Beta 应用在新的 Android 设备上查看 WebGL。我测试过并且可以运行的唯一设备是运行 Android 4.2.2 的 Asus Nexus 7 平板电脑。

      运行 Android 4.1.2 的摩托罗拉 Razr 不支持带有 google Chrome Beta 的 WebGL。

      不确定这是否直接有帮助..但仅供参考。

      【讨论】:

      • 很棒的帮助!由于 Google Chrome v77.0.3865.92 更新阻止了 WebGL 用于 Android 设备,这导致不支持 WebGL 表示您的浏览器不支持 WebGL,但实际上它支持,并且 Chrome 浏览器的标志/设置对 Android webView 没有帮助,您的解决方案Google Chrome Beta 修复了 Android webView 的问题!太棒了!
      【解决方案4】:

      虽然无法为 Android WebView 启用 WebGL,但有一个选项可以让使用 WebGL 的本机应用程序使用 Ludei (www.ludei.com) 的 CocoonJS 进行渲染。他们甚至在 Google Play 中有一个演示应用程序来展示一些已知的 WebGL 演示,甚至在 Android 2.3 设备上运行。

      https://play.google.com/store/apps/details?id=com.ludei.demos.webgl

      甚至在 OUYA 上运行!

      http://www.youtube.com/watch?v=ypyqkAo1jgo

      【讨论】:

        【解决方案5】:

        我在 OS 4.2.2 上有 chrome 版本 28.0 默认情况下未启用 WebGl,您需要通过在搜索栏中键入 chrome://flags/ 来启用它,就像下图中所示的方式

        启用 web gl 重新启动 chrome 后,您将能够运行大部分 three.js 实验。我分享了一些截图:-

        我也在 webview 上尝试了所有方法,但无法设置 webgl 标志。可能无法在 webviews 中使用 webgl。

        【讨论】:

        • 这对 Android 版 Google Chrome v77.0.3865.92 之后的新更新没有帮助
        猜你喜欢
        • 1970-01-01
        • 2019-05-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-25
        • 1970-01-01
        • 2013-08-01
        • 1970-01-01
        相关资源
        最近更新 更多