Ошибка при загрузке библиотеки RS jni: UnsatisfiedLinkError: Не удалось загрузить RSSupport: findLibrary возвращается null

При использовании RenderScript с библиотеками поддержки я получаю эту ошибку на Motorola iRazr (Android 4.1.2)

Error loading RS jni library: java.lang.UnsatisfiedLinkError: Couldn't load RSSupport: findLibrary returned null 

Все работает отлично на Samsung Galaxy S3.

  Bitmap outputBitmap = Bitmap.createBitmap(inputBitmap); RenderScript rs = RenderScript.create(ctx); ScriptIntrinsicBlur theIntrinsic = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs)); Allocation tmpIn = Allocation.createFromBitmap(rs, inputBitmap); Allocation tmpOut = Allocation.createFromBitmap(rs, outputBitmap); theIntrinsic.setRadius(BLUR_RADIUS); theIntrinsic.setInput(tmpIn); theIntrinsic.forEach(tmpOut); tmpOut.copyTo(outputBitmap); 

Я использую банку библиотеки поддержки

 build-tools/19.0.1/renderscript/lib/renderscript-v8.jar 

Буду признателен за любую оказанную помощь.

РЕДАКТИРОВАТЬ:

Я скопировал такие файлы в папке libs и проверил, что файлы находятся в папке data / data / lib на устройстве.

Librsjni.so и libRSSupport.so существует на устройстве …

РЕДАКТИРОВАТЬ:

Более подробная ошибка:

  02-26 16:17:42.311: D/dalvikvm(16985): Trying to load lib /data/data/de.proximity.hero/lib/libRSSupport.so 0x42616b70 02-26 16:17:42.321: D/dalvikvm(16985): Added shared lib /data/data/de.proximity.hero/lib/libRSSupport.so 0x42616b70 02-26 16:17:42.321: D/dalvikvm(16985): No JNI_OnLoad found in /data/data/de.proximity.hero/lib/libRSSupport.so 0x42616b70, skipping init 02-26 16:17:42.321: D/dalvikvm(16985): Trying to load lib /data/data/de.proximity.hero/lib/librsjni.so 0x42616b70 02-26 16:17:42.351: E/RenderScript_jni(16985): Error loading RS jni library: java.lang.UnsatisfiedLinkError: Cannot load library: reloc_library[1306]: 141 cannot locate '__strlen_chk'... 

По словам Тима Мюррея (парень, ответственный за поддержку Android renderscript), это будет исправлено в следующей версии инструментов сборки (вероятно, 19.1.1).

Вам не нужно использовать библиотеку build-tools/19.0.1/renderscript/lib/renderscript-v8.jar (удалить ее), так как команда google говорит здесь , вам нужно включить в свой файл project.properties эту строку :

 renderscript.target=18 renderscript.support.mode=true sdk.buildtools=19.0.3 

Я надеюсь, что это поможет вам.

Я знаю, что у OP больше нет этой проблемы, но я просто хочу прокомментировать ее для всех, кто сталкивается с этим. OP в этом случае, вероятно, имеет только libRSSupport.so для armeabi, но не x86, поэтому он будет работать на S3, но не на устройствах серии «i» серии RAZR, которые работают на чипсетах Intel.

Поскольку на данный момент нет решений, мы решили не использовать renderscript. Возможно, с будущими обновлениями, если эти проблемы будут решены.

Google исправил в Build Tools, Revision 23.0.3 . Пакет поддержки можно найти в файле /build-tools/xxx/renderscript/lib. Проблема решена.

Вы должны включить библиотеки JNI как часть вашего пакета приложений. Пожалуйста, проверьте, чтобы вы случайно не разделили их. У вас должен быть libRSSupport.so, librsjni.so, а также librs..so для каждого пользовательского скрипта, который у вас есть в вашем приложении. Они должны существовать в каталоге lib / armeabi-v7a для любого устройства ARM. Также должны быть похожие подкаталоги для x86 / mips.