Ето целия ми резултат:
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