【发布时间】:2015-06-15 11:55:13
【问题描述】:
我有一个可在计算机、任何浏览器上运行的网络项目(取决于 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 的三星 Galaxy 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 工作正常。我有三个问题:
我似乎做错了什么,我该如何解决?
Android 在 WebView 上仍然不支持 WebGL,有没有办法打开依赖 WebGL 的应用程序?
有没有其他方法可以将 WebGL 项目作为应用程序打开。 (我读过
cordova和cocoon.js,但不确定是否可以通过这些来完成。)所以如果有一个可以正常工作的,我宁愿直接去。
【问题讨论】:
标签: java android google-chrome android-webview webgl