2016-04-08 15 views
0

今日、Android Studioからバージョン2.0の新しいアップデートを受け取りました。アップデートが完了した後、私はビルドのGradleでアプリが、出会いのエラー・メッセージを構築エラーRendercript Android Studio 2.0

Error:Renderscript support mode is not currently supported with renderscript target 21+ 

renderscriptTargetApi 21 
renderscriptSupportModeEnabled true 

renderscriptTargetApi 20 
renderscriptSupportModeEnabled true 

ビルドが成功した交換することで、私が検索し、見つかったソリューションきたんです、しかし、私がアプリを実行すると、アプリがクラッシュするshow logcat:

E/AndroidRuntime: FATAL EXCEPTION: main 
android.support.v8.renderscript.RSRuntimeException: Error loading RS jni library: java.lang.UnsatisfiedLinkError: unknown failure 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.tadev.musicplayer.utils.design.blurry.BlurImageUtils.blurRenderScript(BlurImageUtils.java:25) 
at com.tadev.musicplayer.ui.activities.fragments.MainMusicPlayFragment$5.onResourceReady(MainMusicPlayFragment.java:313) 
at com.tadev.musicplayer.ui.activities.fragments.MainMusicPlayFragment$5.onResourceReady(MainMusicPlayFragment.java:310) 
at com.bumptech.glide.request.GenericRequest.onResourceReady(GenericRequest.java:525) 
at com.bumptech.glide.request.GenericRequest.onResourceReady(GenericRequest.java:507) 
at com.bumptech.glide.load.engine.EngineJob.handleResultOnMainThread(EngineJob.java:158) 
at com.bumptech.glide.load.engine.EngineJob.access$100(EngineJob.java:22) 
at com.bumptech.glide.load.engine.EngineJob$MainThreadCallback.handleMessage(EngineJob.java:202) 
at android.os.Handler.dispatchMessage(Handler.java:95) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:5041) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
at dalvik.system.NativeStart.main(Native Method) 

コード処理ブラー:

import android.content.Context; 
import android.graphics.Bitmap; 
import android.support.v8.renderscript.Allocation; 
import android.support.v8.renderscript.Element; 
import android.support.v8.renderscript.RenderScript; 
import android.support.v8.renderscript.ScriptIntrinsicBlur; 

/** 
* Created by Iris Louis on 04/04/2016. 
*/ 
public class BlurImageUtils { 
    public static Bitmap blurRenderScript(Context context, Bitmap smallBitmap, int radius) { 

     try { 
      smallBitmap = RGB565toARGB888(smallBitmap); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
     Bitmap bitmap = Bitmap.createBitmap(
       smallBitmap.getWidth(), smallBitmap.getHeight(), 
       Bitmap.Config.ARGB_8888); 

     RenderScript renderScript = RenderScript.create(context); 

     Allocation blurInput = Allocation.createFromBitmap(renderScript, smallBitmap); 
     Allocation blurOutput = Allocation.createFromBitmap(renderScript, bitmap); 

     ScriptIntrinsicBlur blur = ScriptIntrinsicBlur.create(renderScript, 
       Element.U8_4(renderScript)); 
     blur.setInput(blurInput); 
     blur.setRadius(radius); // radius must be 0 < r <= 25 
     blur.forEach(blurOutput); 

     blurOutput.copyTo(bitmap); 
//  renderScript.destroy(); 

     return bitmap; 

    } 

    private static Bitmap RGB565toARGB888(Bitmap img) throws Exception { 
     int numPixels = img.getWidth() * img.getHeight(); 
     int[] pixels = new int[numPixels]; 

     //Get JPEG pixels. Each int is the color values for one pixel. 
     img.getPixels(pixels, 0, img.getWidth(), 0, 0, img.getWidth(), img.getHeight()); 

     //Create a Bitmap of the appropriate format. 
     Bitmap result = Bitmap.createBitmap(img.getWidth(), img.getHeight(), Bitmap.Config.ARGB_8888); 

     //Set RGB pixels. 
     result.setPixels(pixels, 0, result.getWidth(), 0, 0, result.getWidth(), result.getHeight()); 
     return result; 
    } 
} 

予想外の私が2.0にIDEを更新!

Plz、解決策を教えてください。皆さんありがとう !!!

答えて

1

renderscriptTargetApiに関するバグは、gradle-plugin 2.1.0およびBuild-Tools 23.0.3で修正されました。 それを試してみてください:

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:2.1.0' 
    } 
} 


android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.3" 
    ... 
} 

「不明なエラー」はしかし奇妙なようです。あなたはそれについてlogcatを持っていますか?

+1

まず、お返事ありがとうございます!しかし、バージョン2.0.0をビルドすると、 #renderscript -keep classを使用できます。 }ファイルproguard-rules.pro と renderscriptTargetApi 20 –

関連する問題