2

我寫了一個簡單的應用程序,它使用RenderScript來更改相機的預覽。除了使用Android 7.0的Honor 6XNexus 6p之外,其他設備都沒有問題,其中相機預覽僅顯示黑屏。RenderScript:無法打開共享庫:(null)

錯誤消息如下:

V/RenderScript: Successfully loaded runtime: libRSDriver_adreno.so 
E/RenderScript: Unable to open shared library (/data/user_de/0/com.my.test/code_cache/com.android.renderscript.cache/librs.invert.so): (null) 
V/RenderScript: Invoking /system/bin/bcc with args '/system/bin/bcc -unroll-runtime -scalarize-load-store -rs-global-info -rs-global-info-skip-constant -o invert -output_path /data/user_de/0/com.my.test/code_cache/com.android.renderscript.cache -bclib /system/lib/libclcore.bc -mtriple armv7-none-linux-gnueabi -O 3 -load libbccQTI.so -fPIC -embedRSInfo /data/user_de/0/com.my.test/code_cache/com.android.renderscript.cache/invert.bc -build-checksum abadcafe' 
V/RenderScript: Invoking /system/bin/ld.mc with args '/system/bin/ld.mc -shared -nostdlib /system/lib/libcompiler_rt.so -mtriple=armv7-none-linux-gnueabi --library-path=/system/vendor/lib --library-path=/system/lib -lRSDriver_adreno -lm -lc /data/user_de/0/com.my.test/code_cache/com.android.renderscript.cache/invert.o -o /data/user_de/0/com.my.test/code_cache/com.android.renderscript.cache/librs.invert.so' 

我的renderScript文件也是一樣到: https://developer.android.com/guide/topics/renderscript/compute.html#writing-an-rs-kernel

#pragma version(1) 
#pragma rs java_package_name(com.my.test) 

uchar4 RS_KERNEL invert(uchar4 in, uint32_t x, uint32_t y) { 
    uchar4 out = in; 

    out.r = 255 - in.r; 
    out.g = 255 - in.g; 
    out.b = 255 - in.b; 
    return out; 
} 

編輯:

相機預覽只能說明上述設備上的黑色屏幕。

+1

我認爲這很正常,您的應用程序工作?別忘了#pragma rs_fp_relaxed – sakridge

+0

不,它只是顯示一個黑屏。 – dhagz

+0

你只是在加載的位圖上作爲輸入嘗試它嗎?可能不會影響任何內容,但請嘗試設置out.a = 255以確保alpha不是0。 – sakridge

回答

相關問題