【问题标题】:Samsung Galaxy S9+ renderscript error三星 Galaxy S9+ 渲染脚本错误
【发布时间】: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 文件夹以检查 libbccArmlibccc 是否存在,但只有其中一个存在:

稍后编辑

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

【问题讨论】:

  • 它说libbcc.so not found,这会导致GPU在初始化时失败。尝试重新启动并重置您的设备。也许三星开发人员未能添加此文件左右,这可能会在下一次更新中修复。你在做模拟器吗?
  • @Dennis 我用的是真机,试过重启了,还是没解决问题
  • 据我所知,这更多是供应商问题.. 你看libscc.so 文件位于vendor's lib64 folder
  • 尝试在三星的常见问题页面上提出这个问题,也许开发人员可以帮助你。
  • 这是您一直指出的libsccArm.so 文件。您的编译器需要 libscc.so 仍然丢失的文件。什么是.so 文件?它们是本机库文件,所以我想是特定于平台的机器代码。

标签: android renderscript android-8.0-oreo


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-02
      • 2013-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多