我正在尝试使用WebView组件中的WebGL(实际上是Cesium lib,如果有关系的话)制作React Native应用。我编写了一个小应用程序来测试WebGL的支持:简单的WebView(react-native-webview)加载http://get.webgl.org并在android模拟器上运行。如站点所述,如果启用了WebGL支持,我应该会看到一个spinnig多维数据集,但我只能看到“ Hmmm。虽然您的浏览器似乎支持WebGL,但它已禁用或不可用。如果可能,请确保您正在为您的视频卡运行最新的驱动程序”。。
一些有趣的事实:
1)基于AngularJs + Cordova + Ionic的应用程序(内部使用相同的WebView技术和相同的Cesium lib)在该模拟器上完美运行
2)我在模拟器的Chrome浏览器中检查了WebGL支持(http://get.webgl.org,http://webglreport.com),一切都很好,没有问题
因此,问题是“我该怎么办?”。我应该为React写基于Java的本机组件吗?或者在React Native WebView,Android应用程序捆绑包文件或其他地方有一些设置。我是否应该使用提供带有WebGL支持的WebView的其他组件? android模拟器或其设置有问题吗?好吧,我愿意接受任何解决方案和建议。应用程序在真实设备上正常运行的可能性很小,但是对我而言,在模拟器上运行和调试它至关重要。
一些技术信息:
1)软件包版本:react-16.6.3,react-native-0.57.8,react-native-webview-2.14.3
2)作业系统:Windows 10,x64
3)模拟器:来自Google的官方模拟器,API 25,尝试了软件和硬件图形渲染设置
答案 0 :(得分:0)
就像Android Q上启用的对Webview的模拟器WebGL的支持:https://issuetracker.google.com/issues/37129533