在Android 5的WebView上支持WebGL

我有一个Web项目(取决于WebGL),可以在计算机,任何浏览器上工作。现在,我正在尝试将该项目作为基于Android手机的应用程序打开。我使用WebView来完成此任务。我的手机(Nexus

3)安装了Android 4.3,随后我了解到,在安装Android 5之前,WebView组件不支持WebGL。在Android

5中,WebView成为依赖Chromium 37版(可以更新)的可更新独立组件,并开始支持WebGL。因此,我在使用Android

4.3时遇到的错误是可以预期的。

之后,我尝试使用另一部手机(具有Android 5和Chrome

43版的三星银河S4)。因此,该应用程序本应该运行良好,但在WebView上仍然出现错误。我尝试过get.webgl.org仍然是相同的错误:

Error constructing CesiumWidget.

Visit http://get.webgl.org to verify that your web browser and hardware support WebGL. Consider trying a different web browser or updating your video drivers.

详细的错误信息如下:

RuntimeError: The browser supports WebGL, but initialization failed.

错误

at new RuntimeError (http://192.168.43.125:8090/TMAPW/lib/Cesium/Build/CesiumUnminified/Cesium.js:10657:19)

at new Context (http://192.168.43.125:8090/TMAPW/lib/Cesium/Build/CesiumUnminified/Cesium.js:96489:19)

at new Scene (http://192.168.43.125:8090/TMAPW/lib/Cesium/Build/CesiumUnminified/Cesium.js:120928:23)

at new CesiumWidget (http://192.168.43.125:8090/TMAPW/lib/Cesium/Build/CesiumUnminified/Cesium.js:130986:25)

at AMouseListener.Map2D.initWidget

这似乎仍然是配置问题,因此我尝试在Chrome上而不是WebView上打开它,但仍然是相同的错误。我根据指示在Chrome上启用了WebGL。`Firefox工作正常。我有三个问题:

  1. 我似乎在做错什么,该如何解决?

  2. Android是否仍不支持WebView上的WebGL,是否没有任何可能的方法来打开依赖WebGL的应用程序?

  3. 还有其他方法可以将WebGL项目作为应用程序打开。(我已经读过cordovacocoon.js但不确定是否可以通过这些方法来完成。)因此,如果有一种方法可以正常工作,我宁愿直接使用它。

回答:

我建议您尝试基于Chromium / blink的CrossWalk

https://crosswalk-

project.org/documentation/samples/webgl.html

以上是 在Android 5的WebView上支持WebGL 的全部内容, 来源链接: utcz.com/qa/417247.html

回到顶部