【发布时间】:2018-08-17 14:54:30
【问题描述】:
我正在开发一个应用,它使用 Camera2 API 和 Renderscript API 使用自定义脚本执行 YUV 到 RGB 的转换。
该应用可在所有设备上运行,但在配备 Android Oreo 8.0 的高端 华为 设备上(7.0 运行良好)。
我怀疑在新的更新中缺少一个库,并且默认的 RS 实现无法处理我的操作。
这里是应用启动时RS相关的logcat:
D/OpenGLRenderer: HWUI Binary is enabled
D/OpenGLRenderer: HWUI GL Pipeline
D/RenderScript HIDL Adaptation: IRenderScriptDevice::getService()
D/RenderScript HIDL Adaptation: IRenderScriptDevice::getService() returned 0x0
Using Fallback Path.
E/RenderScript: Failed loading RS driver: dlopen failed: library "libRSDriverArm.so" not found
E/RenderScript: Failed to load runtime libRSDriverArm.so, loading default
D/RenderScript: Successfully queried cache dir: /data/user_de/0/com.loopsie.android/code_cache
Setting cache dir: /data/user_de/0/com.loopsie.android/code_cache
E/RenderScript: Unable to open shared library (/data/user_de/0/com.loopsie.android/code_cache/com.android.renderscript.cache/librs.yuv420888.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 yuv420888 -output_path /data/user_de/0/com.loopsie.android/code_cache/com.android.renderscript.cache -bclib /system/lib/libclcore_neon.bc -mtriple armv7-none-linux-gnueabi -O 3 -fPIC -embedRSInfo /data/user_de/0/com.loopsie.android/code_cache/com.android.renderscript.cache/yuv420888.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 -lm -lc /data/user_de/0/com.loopsie.android/code_cache/com.android.renderscript.cache/yuv420888.o -o /data/user_de/0/com.loopsie.android/code_cache/com.android.renderscript.cache/librs.yuv420888.so'
I/OpenGLRenderer: Initialized EGL, version 1.4
D/OpenGLRenderer: Swap behavior 2
按照应用程序的流程,帧从 Renderscript 分配发送到连接到 OpenGL 的 SurfaceTexture 的 Surface。
似乎收到了帧,但由于一些内部错误,它全是黑色的。 由于同一个应用程序在 7.0 上运行,我担心的是 8.0 更新。
有没有办法进一步调查这个问题? 有没有人可以提供更多见解?
【问题讨论】:
-
我在华为 P20 lite 上遇到了同样的问题。您找到问题的解决方案了吗?
-
如果我的回答有帮助,请将其标记为正确答案,以便其他有相同问题的人实际看到它有效。
标签: android opengl-es android-camera2 renderscript huawei-mobile-services