问题标签 [android-renderscript]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
343 浏览

android - aar/apk 中的 RenderScript 原生库

我正在尝试解决此问题:

E/RenderScript:无法打开共享库(/data/user_de/0/com.xxxx/code_cache/com.android.renderscript.cache/librs.yuv2rgbframes.so):(null)

我按照文档的指示在 build.gradle 中设置了渲染脚本:

起初我认为这是因为渲染脚本本身位于另一个模块中(它生成了一个由应用程序项目链接的 .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 吗?

0 投票
0 回答
71 浏览

android-renderscript - Renderscript 编译错误 - 它们在哪里?

当我在 RenderScript 中出现错误时,我基本上会从编译器中得到一个异常。我不想在这里粘贴整个eexception,因为它毫无意义,但它的要点是:

为什么我没有收到关于脚本本身的任何有意义的编译器警告和错误?以上是由于我引入了故意的语法错误引起的。

我在用着

以及全新安装的 android studio 3.3

0 投票
1 回答
802 浏览

renderscript - 如何在 Android RenderScript 中同时缩放、裁剪和旋转

是否可以拍摄 Y'UV 格式的相机图像并使用 RenderScript:

  1. 将其转换为 RGBA
  2. 将其裁剪到某个区域
  3. 必要时旋转它
0 投票
0 回答
206 浏览

renderscript - 偶尔的 RenderScript 加载失败 - ScriptC 脚本加载失败

我有一个渲染脚本,它在我的所有测试运行中都能正常工作。但是,极少数用户(Android N、O 和 P)遇到了加载失败。我没有使用支持库版本,因为 minSDKVersion 是 21。我可以收集任何 RS 日志吗?

0 投票
2 回答
54 浏览

android - 在函数内部调用 Renderscrip 内核

我试图在同一个 Renderscript 文件中的函数内调用 Renderscript 内核,但我不知道该怎么做(谷歌文档并没有真正帮助)。

所以我想调用这个内核:

变成这样的函数:

先感谢您。

0 投票
0 回答
56 浏览

android - Renderscript 导致 LG G6 崩溃

我使用 Renderscript 在摩托罗拉 Moto E 4G(第二代)上制作了一个应用程序。我的项目需要一个广角相机,所以我只买了一台 LG G6。但是,当我启动它时,我的应用程序在 LG G6 上崩溃了。当我调用 Renderscript 内核时它崩溃了。

另外,由于性能对我来说很重要,所以我会在屏幕上显示一个循环所花费的时间。在摩托罗拉上,当不进行图像处理时,这需要 +/- 45 毫秒。然而,LG G6 不太规律,有时峰值在 +150 毫秒。这很奇怪,因为摩托罗拉的功能远不如 LG(Snapdragon 200、1GB RAM 与 Snapdragon 821、4GB RAM)。有对此的解释(也许如何解决它)?

摩托罗拉在 API 23、Android 6.0 上运行,LG 在 API 26、Android 8.0.0 上运行。

0 投票
0 回答
59 浏览

android - 如何在 RenderScript 分配中获取/设置布尔元素?

我在 Java/Kotlin 中创建元素类型 boolean 的分配,如下所示:

我将此分配传递给脚本,并且我想使用rsGetElementAt*rsSetElementAt*方法之一访问单元格 - 但没有类似rsGetElementAt_booleanor的布尔等效值rsSetElementAt_boolean。如何访问单元格?

0 投票
2 回答
337 浏览

android - Android - 使用 Renderscript 使图像变灰不起作用

我编写了以下代码来使图像变灰。在早期的项目中,我对 JNI 有一些经验,现在我也想尝试一下 Renderscript。所以,我写了以下代码:

如您所见,我加载图像,通过创建 IN/OUT 分配、应用内核函数并将结果放到屏幕上来准备整个渲染脚本。

gray.rs 文件如下所示:

当我运行该项目时,会发生以下情况:

结果 :

在此处输入图像描述

因此,在我单击按钮并开始灰显过程后,ImageView 变为空白。为什么 ?我找不到我的错误。我按照官方文档中的步骤进行操作,但也许我错过了一些东西

0 投票
1 回答
1002 浏览

android - RenderScript 和 PlayStore 64 位要求

更新:好的,所以我对此进行了更深入的研究。设法使用 bundletool 来尝试和测试不同的 apk,发现了这个:

“App Bundle 包含 32 位 RenderScript 位码文件 (.bc),它会禁用 Android 中的 64 位支持。”

有谁知道我该如何解决这个问题?渲染脚本构成了项目的一个非常重要的部分。

我正在尝试让我的应用程序 64 位兼容新的 PlayStore 要求。我们确实在应用程序中使用了 RenderScript,所以我想知道这是否会导致问题?而且,如何解决这些问题?渲染脚本是一个非常小的脚本,它只根据输入输出带有绿色或红色部分的位图。

我们在java中这样调用这个脚本:

Android 开发者文档指出,使用任何 C 或 C++ 代码都可能使您的应用程序不兼容。但是,我找不到专门针对 RenderScript 的解决方案。

0 投票
0 回答
50 浏览

android - 使用 bazel 构建时如何使用 android renderscript

我一直在用 bazel 构建一个项目并想使用 renderscript 功能,但我找不到将它链接到我的项目的方法。

我试图建立对 android support v8 renderscript 的依赖,但这似乎不存在。我尝试使用 maven 下载它,但它似乎也不存在于 maven 上。我可以在我的 sdk 中找到渲染脚本,但它位于构建工具中某个模糊路径的位置,我不知道如何从那里包含它。当前的所有文档仅显示如何使用 gradle 和 renderscript。有没有办法做到这一点?