Android 加载RS jni库时出错:未满足链接错误:无法';t load RSSupport:findLibrary返回null

Android 加载RS jni库时出错:未满足链接错误:无法';t load RSSupport:findLibrary返回null,android,android-support-library,renderscript,Android,Android Support Library,Renderscript,在支持库中使用RenderScript时,我在Motorola iRazr(Android 4.1.2)上遇到了这个错误 在三星Galaxy S3上一切正常 Bitmap outputBitmap = Bitmap.createBitmap(inputBitmap); RenderScript rs = RenderScript.create(ctx); ScriptIntrinsicBlur theIntrinsic = ScriptIntr

在支持库中使用RenderScript时,我在Motorola iRazr(Android 4.1.2)上遇到了这个错误

在三星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);
我使用的支持库jar是

build-tools/19.0.1/renderscript/lib/renderscript-v8.jar
非常感谢您的帮助

编辑:

我复制了libs文件夹中的so文件,并验证了so文件是否位于设备上的data/data/lib文件夹中

librsjni.solibRSSupport。因此设备上存在

编辑:

更详细的错误:

  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'...

由于目前没有解决方案,我们决定不使用renderscript。
如果这些问题得到解决,可能会在将来进行更新。

我知道OP不再存在此问题,但我只想为遇到此问题的其他人发表评论。本例中的OP可能只有libRSSupport.so用于armeabi而不是x86,这就是为什么它可以在S3上工作,但不能在运行在Intel芯片组上的RAZR“i”系列设备上工作

您不必使用库
构建工具/19.0.1/renderscript/lib/renderscript-v8.jar
(删除它),正如google团队所说,您只需在
项目中包含以下行:

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


我希望这将对您有所帮助。

(负责Android renderscript支持的人)这将在下一个构建工具版本(可能是19.1.1)中修复。

您必须将JNI库作为应用程序包的一部分。请检查您是否无意中剥掉了它们。对于应用程序中的每个用户脚本,都应该有libRSSupport.so、librsjni.so以及librs..so。对于任何ARM设备,这些都应该存在于lib/armeabi-v7a目录下。x86/mips也应该有类似的子目录。

谷歌已经修复了这个问题。您可以在/build tools/x.x.x/renderscript/lib中找到支持包。问题已经解决。

在各种模拟器上进行了测试:4.0 arm、4.1.2 x86、,4.3 arm在renderscript支持下可以正常工作。您可以更新到构建工具19.0.2并重试吗?仅在Motorola razr xt890规范上19.0.2也存在同样的问题:我还将此添加到project.properties文件中:renderscript.target=19 renderscript.support.mode=true sdk.buildtools=19.0.2,但我在某个地方读到了它不是自从上次ADT更新以来,仍然需要…@TimMurray在x86设备/模拟器上仍然看到这个问题。在我们的gradle构建中使用renderscript(defaultConfig{renderscriptTargetApi 19 renderscriptSupportMode true}。关于这个问题有什么消息吗。你知道我在哪里可以得到一个可以与运行在英特尔芯片组上的设备一起工作的版本吗?是的,它们位于x86下的一个稍有不同的目录中。但是,NDK的gradle支持即将推出,因此不再需要了。请看一下我的答案,我也遇到了同样的问题,最后我用这个解决了e说明。这有助于解决Deacoy描述的问题,还是只是帮助整理设置?好吧,现在我们有20个,我仍然有相同的问题。是的,不幸的是,这仍然没有得到解决…他们忘记将其纳入发行版。下一个版本应该包含正确的库。这解决了我的问题。Wor终于被23.0.3搞砸了!仍然在一些随机设备上引发了这个问题,操作系统版本4.x.x.在google上搜索了5个多小时,输入这个问题差不多10次,我在底部找到了你!谢谢!!!不客气@nyconing。希望这个答案能解决你的问题
renderscript.target=18
renderscript.support.mode=true
sdk.buildtools=19.0.3