android无法在api <17中加载SupportV8 RenderScript

Dia*_*ako 4 crash android renderscript android-support-library

我只是想在我的应用程序中使用RenderScript的ScriptIntrinsicBlur,我已经添加了renderscript.v8.jar(在android支持lib v8中)以支持17以下api但它在此行崩溃(在api <17这种情况下它在4.2上工作正常或更高) :

        RenderScript rs = RenderScript.create(getApplicationContext());
Run Code Online (Sandbox Code Playgroud)

和Exception输出

 java.lang.RuntimeException: An error occured while executing doInBackground()
        at android.os.AsyncTask$3.done(AsyncTask.java:299)
        at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
        at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
        at java.util.concurrent.FutureTask.run(FutureTask.java:137)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
        at java.lang.Thread.run(Thread.java:856)
 Caused by: android.support.v8.renderscript.RSRuntimeException: Error loading RS jni library: java.lang.UnsatisfiedLinkError: Couldn't load RSSupport: findLibrary returned null
        at android.support.v8.renderscript.RenderScript.create(RenderScript.java:945)
        at android.support.v8.renderscript.RenderScript.create(RenderScript.java:982)
        at android.support.v8.renderscript.RenderScript.create(RenderScript.java:968)
Run Code Online (Sandbox Code Playgroud)

任何人都知道我该怎么处理这个?

Lar*_*fer 12

您需要告诉Eclipse或Android Studio使用RenderScript支持模式.

在Eclipse中,编辑project.properties文件并添加:

renderscript.target=18 renderscript.support.mode=true

在Android Studio中,build.gradle在您的应用模块中编辑您的文件并将其添加到defaultConfig机箱中(有关详细信息,请参阅http://developer.android.com/guide/topics/renderscript/compute.html#ide-setup):

renderscriptTargetApi 18 renderscriptSupportModeEnabled true

目标API级别需要是您可以使用的最大值.如果您的最低SDK级别更高,则忽略此值并使用最小的SDK值.