Вот весь мой вывод:
02-26 09:55:50.410 625-640/com.vsco.cam E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #1
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:299)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
at java.util.concurrent.FutureTask.run(FutureTask.java:239)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:841)
Caused by: android.renderscript.RSRuntimeException: Loading of ScriptC script failed.
at android.renderscript.ScriptC.<init>(ScriptC.java:61)
at android.support.v8.renderscript.ScriptCThunker.<init>(ScriptCThunker.java:39)
at android.support.v8.renderscript.ScriptC.<init>(ScriptC.java:62)
at com.vsco.cam.utility.ScriptC_processing.<init>(ScriptC_processing.java:41)
at com.vsco.cam.effects.EffectProcessor.initialize(EffectProcessor.java:67)
at com.vsco.cam.LoadingAsyncTask.doInBackground(LoadingAsyncTask.java:24)
at com.vsco.cam.LoadingAsyncTask.doInBackground(LoadingAsyncTask.java:16)
at android.os.AsyncTask$2.call(AsyncTask.java:287)
at java.util.concurrent.FutureTask.run(FutureTask.java:234)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:841)
Вот часть моего файла build.gradle:
defaultConfig {
minSdkVersion 14
targetSdkVersion 19
renderscriptTargetApi 19
renderscriptSupportMode=true
}
До обновления моих инструментов сборки до 19.0.2 я получал rs для каждой ошибки, которая была исправлена в новейшей версии инструментов сборки (https://code.google.com/p/android/issues)./detail?id=64110). Теперь я совершенно не понимаю, почему это не будет работать на телефонах, отличных от 4.4 (телефоны, которым требуется обратная совместимость, также известная как библиотека поддержки). Это та же проблема, что и rs для каждого, или я просто что-то упустил?
Кажется, здесь происходит сбой, в файле ScriptC.java:
protected ScriptC(RenderScript rs, Resources resources, int resourceID) {
super(0, rs);
int id = internalCreate(rs, resources, resourceID);
if (id == 0) {
throw new RSRuntimeException("Loading of ScriptC script failed.");
}
setID(id);
}
ScriptC_processing: 41:
public ScriptC_processing(RenderScript rs, Resources resources, int id) {
super(rs, resources, id);
__ALLOCATION = Element.ALLOCATION(rs);
__SCRIPT = Element.SCRIPT(rs);
__U32_2 = Element.U32_2(rs);
__SAMPLER = Element.SAMPLER(rs);
__F32_2 = Element.F32_2(rs);
__I32 = Element.I32(rs);
__F32 = Element.F32(rs);
__U8_4 = Element.U8_4(rs);
}
Изменить: похоже, здесь устанавливается идентификатор:
protected ScriptC(RenderScript rs, Resources resources, int resourceID) {
super(0, rs);
if (rs.isNative) {
RenderScriptThunker rst = (RenderScriptThunker)rs;
ScriptCThunker s = new ScriptCThunker(rst, resources, resourceID);
mT = s;
return;
}
int id = internalCreate(rs, resources, resourceID);
if (id == 0) {
throw new RSRuntimeException("Loading of ScriptC script failed.");
}
setID(id);
}
ScriptC_processing.java:41
- person donfuxx   schedule 26.02.2014id
- person donfuxx   schedule 26.02.2014super(rs, resources, id);
является конструктором, который определен в вашем проекте? - person donfuxx   schedule 26.02.2014