三星Galaxy S9 + renderscript错误

时间:2018-04-03 09:59:54

标签: android renderscript android-8.0-oreo

我正在使用Camera2 API,我正在使用Renderscript执行一些图像处理。除了S9 +之外,所有设备(Nexus 5 / 5x,Pixel,Pixel 2,S8 +,Note 8)都能正常运行。

基本上我正在做的是创建一个Allocation来接收相机数据,另一个Allocation将使用相机数据,应用转换并在Surface上显示结果这将作为相机预览。 在S9 +上我得到一个黑屏(没有预览),LogCat显示以下错误:

renderscript error

我阅读了有关此类错误的其他帖子,但它们不适用于我的案例,因为代码在其他设备上按预期工作!

我设法将错误跟踪到本机库加载问题: Stacktrace

这只发生在S9上,其他三星设备没有任何问题。

S8 +在Android Nougat(24)上,而S9 +在Oreo(26)上,都有OpenGL ES 3.2。

有没有人知道如何解决这个问题?

PS:在运行Oreo的其他设备上测试没有任何问题

修改

我将S9 +更新到最新版本( R16NW.G965FXXU1ARCC ),但问题仍然存在。 另外,根据评论建议,我检查了 / vendor / lib64 文件夹,检查libbccArmlibccc是否存在,但是只有其中一个存在:

enter image description here

稍后编辑

在系统上找到

libbcc.so但是S9 +似乎缺少32位版本(左边是S8 +,右边是S9 +)

enter image description here

2 个答案:

答案 0 :(得分:1)

最新更新修复了renderscript问题(我现在可以处理1920x1080图像)。

在Galaxy S9 +上测试,内部版本号为R16NW.G965FXXU1BRE5

答案 1 :(得分:0)

我在同一部手机上遇到同样的问题。

使用改编自https://android.googlesource.com/platform/frameworks/base/+/dd6c8b3/tests/RenderScriptTests/LivePreview/src/com/android/rs/livepreview/的代码进行测试, 看起来renderscripts正在研究S9 +以获得更低的分辨率(176x144和256x144测试),但不高于此。可能是由于非GPU renderscript驱动程序的限制,它被作为后备加载。对我们大多数人来说,解决方案并不多,但至少你会在屏幕上看到一些东西。