【发布时间】:2018-04-03 09:59:53
【问题描述】:
我正在使用 Camera2 API,并且正在使用 Renderscript 执行一些图像处理。除 S9+ 外,在一系列设备(Nexus 5/5x、Pixel、Pixel 2、S8+、Note 8)上一切正常。
基本上我正在做的是创建一个Allocation 来接收相机数据和另一个Allocation 将使用相机数据,应用转换并将结果显示在Surface 上,它将充当相机预习。
在 S9+ 上出现黑屏(无预览),LogCat 显示以下错误:
我阅读了有关此类错误的其他帖子,但它们不适用于我的案例,因为代码在其他设备上按预期工作!
这仅在 S9 上发生,其他三星设备可以正常工作。
S8+ 在 Android Nougat(24) 上,S9+ 在 Oreo(26) 上,两者都有 OpenGL ES 3.2。
有人知道如何解决这个问题吗?
PS:在其他运行 Oreo 的设备上测试没有任何问题
编辑
我将 S9+ 更新到最新版本 (R16NW.G965FXXU1ARCC),但问题仍然存在。
另外,根据评论建议,我检查了 /vendor/lib64 文件夹以检查 libbccArm 和 libccc 是否存在,但只有其中一个存在:
稍后编辑
在系统上找到libbcc.so,但 S9+ 似乎缺少 32 位版本(左侧为 S8+,右侧为 S9+)
【问题讨论】:
-
它说
libbcc.sonot found,这会导致GPU在初始化时失败。尝试重新启动并重置您的设备。也许三星开发人员未能添加此文件左右,这可能会在下一次更新中修复。你在做模拟器吗? -
@Dennis 我用的是真机,试过重启了,还是没解决问题
-
据我所知,这更多是供应商问题.. 你看
libscc.so文件位于vendor's lib64 folder -
尝试在三星的常见问题页面上提出这个问题,也许开发人员可以帮助你。
-
这是您一直指出的
libsccArm.so文件。您的编译器需要libscc.so仍然丢失的文件。什么是.so文件?它们是本机库文件,所以我想是特定于平台的机器代码。
标签: android renderscript android-8.0-oreo