我在设备(Nexus 4/5 / S,三星I747)上测试了渲染脚本。但是,当我向人们发布测试版时,我从各种设备中收集了崩溃信息,它们都是ARM芯片。
请查看受影响的设备:
http://crashes.to/s/b7578ea44e5
这是错误:
android.support.v8.renderscript.o: Error loading RS jni library: java.lang.UnsatisfiedLinkError: Couldn't load RSSupport: findLibrary returned null
at android.support.v8.renderscript.RenderScript.shouldThunk()
at android.support.v8.renderscript.RenderScript.shouldThunk()
at com.xyang.android.timeshutter.model.imageprocessing.BaseTwoPassFilterEdgeDetector.()
at com.xyang.android.timeshutter.model.imageprocessing.SobelEdgeDetector.()
at com.xyang.android.timeshutter.model.BaseBitmapPersistentHelper.getBitmap()
at com.xyang.android.timeshutter.model.BitmapPersistentHelper.cropAndSave()
at com.xyang.android.timeshutter.model.BitmapPersistentHelper.readCompressedImageDataFromUri()
at com.xyang.android.timeshutter.app.capture.FreeCropFragment.onClick()
at android.view.View.performClick(View.java:4100)
at android.view.View$PerformClick.run(View.java:17021)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4788)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:774)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:541)
at dalvik.system.NativeStart.main(NativeStart.java)
我知道有some bug for the Intel x86 devices,但是为什么ARM设备也出现此链接错误?
最佳答案
看来您没有将JNI库作为应用程序包的一部分包含在内。请检查您是否意外剥离了它们。您应该为应用程序中具有的每个用户脚本都具有libRSSupport.so,librsjni.so和librs..so。对于任何ARM设备,这些文件都应存在于lib / armeabi-v7a目录下。 x86 / mips也应该有类似的子目录。
关于android - Renderscript支持v8:无法加载RSSupport:findLibrary返回null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24598364/