我正在尝试解决此问题:
E/RenderScript:无法打开共享库(/data/user_de/0/com.xxxx/code_cache/com.android.renderscript.cache/librs.yuv2rgbframes.so):(null)
我按照文档的指示在 build.gradle 中设置了渲染脚本:
android {
...
defaultConfig {
...
renderscriptTargetApi 18
renderscriptSupportModeEnabled true
}
}
起初我认为这是因为渲染脚本本身位于另一个模块中(它生成了一个由应用程序项目链接的 .aar),但这似乎不是问题。我尝试将上述内容同时放入 .aar 模块和应用程序模块 - 没有区别。
我的下一步是查看 .aar 和 .apk 的内容,这导致了我的问题:我应该能够在某处看到生成的 .so 文件吗?我希望看到 arm7 的 .so 和 x86 的另一个,但没有。
有一些关于这个的问题,但它们不是一回事。但我在这里的主要问题与我如何解决这个问题有关:这个 .so 文件在哪里结束。我认为这些工具实际上必须设置好,因为它成功地为渲染脚本生成了 java 存根......
...
编辑:也许我误解了这里发生了什么。在我粘贴错误之后,还有两条消息:
E/RenderScript: 无法打开共享库 (/data/user_de/0/com.xxx.powerscan/code_cache/com.android.renderscript.cache/librs.yuv2rgbframes.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 yuv2rgbframes -output_path /data/user_de/0 /com.xxx.powerscan/code_cache/com.android.renderscript.cache -bclib /system/lib64/libclcore.bc -mtriple aarch64-none-linux-gnueabi -O 3 -aarch64-fix-cortex-a53-835769 -load libbccQTI.so -fPIC -embedRSInfo /data/user_de/0/com.xxx.powerscan/code_cache/com.android.renderscript.cache/yuv2rgbframes.bc -build-checksum abadcafe' V/RenderScript:调用 /system/bin/ld .mc 与 args '/system/bin/ld.mc -shared -nostdlib /system/lib64/libcompiler_rt.所以 -mtriple=aarch64-none-linux-gnueabi --library-path=/system/vendor/lib64 --library-path=/system/lib64 -lRSDriver_adreno -lm -lc /data/user_de/0/com.xxx。 powerscan/code_cache/com.android.renderscript.cache/yuv2rgbframes.o -o /data/user_de/0/com.xxx.powerscan/code_cache/com.android.renderscript.cache/librs.yuv2rgbframes.so'
它真的会在平台上生成 .so 吗?