Android WebView 中的 WebGL

WebGL in Android WebView

我知道以前有人问过这个问题,但这些问题现在已经很老了。 我有一个 "game" 是我前段时间用 WebGL 开发的,我想用一个简单的 WebView 把它带到 Android。 现在的问题是,它不会真正响应 WebView 中的用户输入(Chrome 工作得很好。Android 7.1.1)。我想那是因为 WebGL。

所以现在,由于 crosswalk-project 已经结束了一段时间,我正在我的应用程序中寻找 运行 WebGL 的替代方案。或者只是 运行 我的 "game" 在 Android 应用程序中

你知道我如何让它发挥作用吗?

从 5.0 Android 附带 Android System WebView which is being updated and we might call it the Native WebView. WebGL should work there although some of WebGL extensions and WebGL 2 (stats) 可能不会。

让您的游戏作为应用程序工作的关键如下。

首先,您必须确定您的游戏(以及您使用的游戏引擎)需要哪些 WebGL 版本、WebGL 扩展、WebGL 或着色器功能以及其他 HTML5 功能。

那么你必须找到一个支持该功能的 WebView。您只需在 Android 设备上使用您想要的 WebView 打开网页 https://html5test.com/ and http://webglreport.com/ 即可。 重要! 例如,如果您打开安装了 Chrome 浏览器的网页,则不能保证使用本机 WebView!所以最好编写一个小的自定义应用程序,以确保您正在测试要用于游戏的 WebView。

最后,您可能会使用自定义 WebView 在应用程序中编译您的游戏,这将为您的游戏增加额外的大小。

其他有用信息

  • Android 版本 < 5.0 有一个不附带更新的本机 WebView,因此它不支持 WebGL,这不会改变。但是 Chrome 浏览器(或其他已安装的浏览器)很可能在那里支持 WebGL,因为它带有自定义 WebView。
  • 三星真的搞砸了。我的意思是,他们正在自定义 Android OS 很多,包括 WebViews 的一些黑魔法 => 本机 WebView 在那里无法正常工作,因此必须在您的应用程序中自定义 WebView。
  • 我们 (GAMEE) 正在使用三星的原生 WebView 和 XWalkView,Android < 5.0 和 WebGL 游戏现在运行良好。