我正在尝试使用setGreyscale
在图像上设置灰色效果。
但是,它会引发以下异常:
01-29 17:10:51.360:E / RenderScript_jni(27312):无GC方法
01-29 17:10:51.360:D / dalvikvm(27312):尝试加载lib /data/data/com.xxx.android/lib/libRSSupport.so 0x41f636a0
01-29 17:10:51.384:D / dalvikvm(27312):添加了共享库/data/data/com.xxx.android/lib/libRSSupport.so 0x41f636a0
01-29 17:10:51.384:D / dalvikvm(27312):在/data/data/com.xxx.android/lib/libRSSupport.so 0x41f636a0中找不到JNI_OnLoad,跳过初始化
01-29 17:10:51.391:D / dalvikvm(27312):尝试加载lib /data/data/com.xxx.android/lib/librsjni.so 0x41f636a0
01-29 17:10:51.391:D / dalvikvm(27312):添加了共享库/data/data/com.xxx.android/lib/librsjni.so 0x41f636a0
01-28 16:48:38.340:E / RenderScript(19242):rsAssert失败:!mElements.size(),在frameworks / rs / rsElement.cpp中369
以下是代码:
import android.support.v8.renderscript.*;
private synchronized void setGreyScale(Bitmap image){
Allocation input;
Allocation output;
RenderScript rs = RenderScript.create(mContext);
ScriptIntrinsicColorMatrix scriptColor = ScriptIntrinsicColorMatrix.create(rs, Element.U8_4(rs));
input = Allocation.createFromBitmap(rs, image, Allocation.MipmapControl.MIPMAP_NONE, Allocation.USAGE_SCRIPT);
output = Allocation.createTyped(rs, input.getType());
scriptColor.setGreyscale();
scriptColor.forEach(input, output);
output.copyTo(image);
rs.destroy();
}
答案 0 :(得分:0)
将sdk.buildtools
设置为版本18.1.0
后,它有效
以前,版本为19.0.0
。
这是我当前的project.properties
:
目标=机器人-19
renderscript.target = 18
renderscript.support.mode =真
sdk.buildtools = 18.1.0
断言异常仍然存在,因此它与实际失败无关。