我正在使用Renderscript,并使用Camera2脚本来执行一些图像处理。除了S9+之外,在一系列设备(Nexus5/5x,像素,像素2,S8+,备注8)上,一切都能正常工作。
基本上,我要做的是创建一个Allocation来接收相机数据,另一个Allocation将使用相机数据,应用转换,并在将充当相机预览的Surface上显示结果。在S9+上,我看到一个黑屏(没有预览),LogCat显示以下错误:

我读了其他关于这类错误的帖子,它们不适用于我的情况,因为代码在其他设备上可以正常工作!
我设法追踪到了一个本地库加载问题的错误:

这只发生在S9上,其他三星设备工作没有任何问题。
S8+在安卓牛油糖(24)上,S9+在奥利奥(26)上,两者都有OpenGL ES 3.2。
有谁知道怎么解决这个问题吗?
PS:在运行Oreo的其他设备上测试,没有任何问题
编辑
我将S9+更新为最新版本的(R16NW.G965FXXU1ARCC),但问题仍然存在。此外,根据评论建议,我检查了/vendor/lib64文件夹,以检查libbccArm和libccc是否存在,但只有一个存在:

稍后编辑
在系统上找到libbcc.so,但S9+似乎缺少32位版本(左侧为S8+,右侧为S9+ )

发布于 2018-06-07 07:01:46
最新更新修复了renderscript问题(我现在可以处理1920x1080图像)。
在内部版本号为R16NW.G965FXXU1BRE5的Galaxy S9+上测试
发布于 2018-05-14 21:16:46
我在同一部手机上也有同样的问题。
使用改编自https://android.googlesource.com/platform/frameworks/base/+/dd6c8b3/tests/RenderScriptTests/LivePreview/src/com/android/rs/livepreview/的代码进行测试,它看起来像是在较低分辨率的S9+上工作(测试的分辨率为176x144和256x144 ),但仅此而已。可能是由于非GPU renderscript驱动程序的限制,该驱动程序作为备用加载。对于我们大多数人来说,这并不是一个很好的解决方案,但至少你在屏幕上看到了一些东西。
https://stackoverflow.com/questions/49627249
复制相似问题