BCC не может скомпилировать скрипт

Добрый день,

У меня всегда была куча скриптов Renderscript для тонкого обнаружения краев. Это работает безупречно до сих пор.

К сожалению, с новым устройством (Samsung Galaxy S7) все скрипты, кажется, не могут быть скомпилированы bcc.

Я много искал в Google Tracker и SO, но ничего не изменил в задействованных исключениях. Я также попытался обновить свою среду Android до последней конфигурации и попробовал несколько конфигураций сборки gradle. К сожалению, я не смог заставить его работать и всегда выдает одно и то же исключение.

Затем я начал думать, что это могут быть настоящие сценарии C99, но они настроены так же, как и другие мои проекты с Renderscript, которые действительно работают на этом Samsung 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)
 ....                                                                                   

Любая ориентация в том, как решить проблему, будет высоко оценена.

Большое спасибо за ваше время,

Антонио


person Antonio Lopes    schedule 28.06.2016    source источник
comment
Вам действительно нужна библиотека поддержки? Попробуйте установить для параметра settingsrenderscriptSupportModeEnabled значение false в Gradle.   -  person Settembrini    schedule 16.07.2016
comment
Привет, Сеттембрини, да, мне нужна библиотека поддержки. Я исправил проблему, рефакторинг некоторого кода, который не компилировался в BCC, специально для Samsung S7. Я поднял этот вопрос в Google, но, безусловно, это будет проблема с реализацией драйвера Samsung RS.   -  person Antonio Lopes    schedule 18.07.2016
comment
@Settembrini Как вы справились с получением массива камер data[] с помощью Camera2 со скоростью 30 кадров в секунду на большом количестве устройств без блокировки пользовательского интерфейса (на Imageavailablelistener)?   -  person Antonio Lopes    schedule 19.07.2016
comment
Хороший вопрос, Антонио. На самом деле, этот слушатель сам по себе не должен блокировать пользовательский интерфейс. Но, тем не менее, должен признать, что мне не удалось реализовать надежный способ (сравнимый с простым, но стабильным механизмом Camera1) получения превью-картинок с высокой частотой. Кроме того, я еще не нашел убедительного примера этого. Мои собственные эксперименты закончились примерно здесь: stackoverflow.com/q/36048189/5148048. У меня сложилось впечатление, что Camera2 несколько излишне амбициозна, по крайней мере, я не особо в этом разбирался, если честно. Я остаюсь с Camera1 и пока смотрю SO... удачи.   -  person Settembrini    schedule 19.07.2016