hal*_*lil 1 java android google-chrome webgl android-webview
我有一个Web项目(取决于WebGL),它适用于计算机,任何浏览器.现在我正在尝试将此项目作为基于Android的手机上的应用程序打开.我使用WebView来实现这一目标.我的手机(Nexus 3)有Android 4.3,而我之前在Android 5之前了解到,WebView组件不支持WebGL.在Android 5中,WebView成为可更新的独立组件,依赖于Chromium版本37(可以更新)并开始支持WebGL.因此,预计我将使用Android 4.3获得错误.
在此之后,我尝试使用另一部手机(三星Galaxy S4搭载Android 5和Chrome版本43).那么应用程序应该运行良好,但仍然在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.
Run Code Online (Sandbox Code Playgroud)
详细的错误信息如下:
RuntimeError: The browser supports WebGL, but initialization failed.
Run Code Online (Sandbox Code Playgroud)
错误
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
Run Code Online (Sandbox Code Playgroud)
这似乎仍然是一个配置问题,所以我试图在Chrome上打开它而不是在WebView上但仍然是同样的错误.我在安装后在Chrome上启用了WebGL.`Firefox工作正常.我有三个问题:
似乎有什么我做错了,我该如何解决?
Android仍然不支持WebView上的WebGL,是否有任何可能的方法来打开依赖WebGL的应用程序?
有没有其他方法可以将WebGL项目作为应用程序打开.(我已阅读cordova并cocoon.js,但不能肯定是否可以通过这些来完成.)所以,如果有一个工作正常,我宁愿直接去了.
好吧,我想把它添加为编辑,但它不被接受,所以我添加了我的发现作为答案:
我设法让它可以CrossWalk在任何设备Android 4+上使用它和上面android webview的sony xperia手机android 5.我想添加我发现的东西:
如果您要使用android webview,您的设备必须具有,android 5+并且您的设备不得打开gpu_blacklist.gpu_blacklist网上没有我可以找到的设备列表,但有一种方法可以了解您的设备是否gpu_blacklist存在.打开chrome,然后键入chrome://gpu,然后查看reset notification strategy field.如果是,0x8252那么您的设备支持webgl,如果是,0x0000则您的设备位于黑名单中.因此,与android 5+和不可正对你的设备gpu_blacklist,你可以使用webgl与android webview.
如果您想使用chrome而不是使用android webview打开的设备,则gpu_blacklist必须使用Chrome版本37+.要检查它,打开chrome,键入chrome://version.在打开chrome之后chrome://flags,在该页面中输入enable webgl和override software rendering listfields.有了这个,你webgl甚至可以使用在其上gpu_blacklist或下面有os的设备上的设备android 5.
如果您的设备无法满足我的上述要求,您可以使用CrossWalk它.但是,文档组织不当,除了自己的文档之外,您找不到太多其他信息,以防您遇到问题.原因CrossWalk是你在构建apk文件时可以发送命令行参数--ignore-gru-blacklist.但是,正如文档所述,如果您在设备上使用此设备gpu_blacklist,您的应用程序或整个设备可能会冻结.
| 归档时间: |
|
| 查看次数: |
4298 次 |
| 最近记录: |