毛玻璃之android.support.v8.renderscript.RSRuntimeException

最近看到bilibili的番剧详情页面下的背景图有高斯模糊的效果,很好看,于是也将自己个人项目的某个背景图调成模糊的效果,用的是500px的500px-android-blur
地址:https://github.com/500px/500px-android-blur

500px效果

在集成的时候,android.support.v8库找不到。这个renderscript-v8.jar包需要从sdk的目录下手动拷贝到工程的libs下面,因为用androidstudio2.1.1版本,sdk编译工具是23.0.3的版本

renderscript所在目录

然后将jar包导入到androidstudio工程libs下面,出现了下面的错误:

 Caused by: android.support.v8.renderscript.RSRuntimeException: Error loading RS jni library: java.lang.UnsatisfiedLinkError: JNI_ERR returned from JNI_OnLoad in "/data/app/com.papi.player-2/lib/arm/librsjni.so" Support lib API: 2301
                                                                   at android.support.v8.renderscript.RenderScript.internalCreate(RenderScript.java:1358)
                                                                   at android.support.v8.renderscript.RenderScript.create(RenderScript.java:1529)
                                                                   at android.support.v8.renderscript.RenderScript.create(RenderScript.java:1479)
                                                                   at android.support.v8.renderscript.RenderScript.create(RenderScript.java:1455)
                                                                   at android.support.v8.renderscript.RenderScript.create(RenderScript.java:1442)
                                                                   at com.fivehundredpx.android.blur.BlurringView.initializeRenderScript(BlurringView.java:98)
                                                                   at com.fivehundredpx.android.blur.BlurringView.<init>(BlurringView.java:37)
                                                                   at java.lang.reflect.Constructor.newInstance(Native Method) 
                                                                   at java.lang.reflect.Constructor.newInstance(Constructor.java:288) 
                                                                   at android.view.LayoutInflater.createView(LayoutInflater.java:626) 
                                                                   at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:762) 
                                                                   at android.view.LayoutInflater.rInflate(LayoutInflater.java:825) 
                                                                   at android.view.LayoutInflater.rInflate(LayoutInflater.java:828) 
                                                                   at android.view.LayoutInflater.rInflate(LayoutInflater.java:828) 
                                                                   at android.view.LayoutInflater.inflate(LayoutInflater.java:523) 
                                                                   at android.view.LayoutInflater.inflate(LayoutInflater.java:425) 
                                                                   at android.view.LayoutInflater.inflate(LayoutInflater.java:368) 
                                                                   at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:255) 
                                                                   at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109) 

网上搜答案,说是兼容问题,然后把so库也靠近了libs下面,总应该匹配了吧

版本1

但是上面的异常还是发生了,想了想,最关键的一句提示Support lib API: 2301,我的手机是5.0.1的系统,应该是用了高版本的api,归根结底是库版本不该用这么高的,然后找到eclipse的sdk路径

版本2

然后把这个4.4版本下的jar文件替换掉之前的23版本,然后运行,正常!!!好开心~~~

常用模糊方式:

RenderScript
        调用 Android 自带的 RenderScript 类进行图片模糊
        其模糊速度一般,与直接在Java层模糊区别不大
        我这边调试只能在 4.4 以上运行,理论上是 Android 17 以上都行

Fast Blur
        Java层进行模糊
        Fast Blur 是国外一位开发者发明的模糊方法
        Fast Blur 原名是 堆栈模糊

JniArray
        其模糊规则是 堆栈模糊 的 C 语言实现
        在 JNI 层进行模糊,然后传回模糊后的数据
        在 Java 层对图片类解析得到 像素点 数组传入到 JNI 层
        JNI 层对像素点集合进行模糊,模糊后传回

JniBitMap
        其模糊规则是 堆栈模糊 的 C 语言实现
        在 JNI 层进行模糊,然后传回模糊后的数据
        在 JNI 层直接对图片模糊,模糊后传回
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,787评论 25 709
  • 内容抽屉菜单ListViewWebViewSwitchButton按钮点赞按钮进度条TabLayout图标下拉刷新...
    皇小弟阅读 46,961评论 22 665
  • 在之前的开发经历中经常需要导入一些如v4、v7、v13等Android官方的支持包,遇到这些情况时都是网上搜索一下...
    都有米阅读 16,068评论 34 141
  • 苏先生,我说起的过往,都是你记不得的。 苏先生,我真的很想知道,你是真的忘了还是不愿记起。 苏先生,我真的害怕到最...
    月三岁阅读 218评论 0 0
  • 文件上传漏洞是指用户上传了一个可执行的脚本文件并通过此脚本文件获得了执行服务器端命令的能力,文件上传本身没有问题,...
    语落心生阅读 765评论 0 0