1

下午好,

我一直有一堆 Renderscript 脚本来实现精明的边缘检测。到目前为止,这一直完美无缺。

不幸的是,对于新设备(三星 Galaxy S7),所有脚本似乎都无法通过 bcc 编译。

我在 google tracker 和 SO 上进行了很多搜索,但没有改变所涉及的异常。我还尝试将我的 android 环境更新为最新配置,并尝试了几种 gradle 构建配置。不幸的是,我无法让它工作并且总是抛出同样的异常。

然后我开始认为它可能是实际的 C99 脚本,但它们的设置与我使用 Renderscript 的其他项目一样 - 实际上适用于三星 S7。

看起来很关键的错误消息是:

  E/RenderScript: Unable to open shared library (/xxx/package.name.xxx.cache/librs.gauss_5x1.so): (null)
  E/RenderScript: Unable to open shared library (/xxx/package.name.xxx.cache/librs.gauss_1x5.so): undefined symbol: root.expand
  E/RenderScript: Unable to open shared library (/xxx/package.name.xxx.cache/librs.canny_sobel.so): undefined symbol: root.expand
  E/RenderScript: Unable to open shared library (/xxx/package.name.xxx.cache/librs.canny_nms.so): undefined symbol: root.expand
  E/RenderScript: Child process "/system/bin/bcc" terminated with status 11
  E/RenderScript: bcc: FAILS to compile 'canny_nms'

这会在 Android Java 层导致致命异常:

E/AndroidRuntime: FATAL EXCEPTION: main                                            
   android.renderscript.RSRuntimeException: Loading of ScriptC script failed.
   at android.renderscript.ScriptC.<init>(ScriptC.java:63)
   at android.support.v8.renderscript.ScriptCThunker.<init>(ScriptCThunker.java:39)
   at android.support.v8.renderscript.ScriptC.<init>(ScriptC.java:62)
   at com.novarumreader.renderscripttest.ScriptC_canny_nms.<init>(ScriptC_canny_nms.java:42)
   at com.novarumreader.renderscripttest.ScriptC_canny_nms.<init>(ScriptC_canny_nms.java:34)
 ....                                                                                   

任何有关如何解决该问题的指导都将不胜感激。

非常感谢你的时间,

安东尼奥

4

0 回答 0