当前位置: 首页 > 知识库问答 >
问题:

如何在Android Studio上创建Renderscript脚本,并使其运行?

劳麒
2023-03-14

我想研究一下在Android和Renderscript上创建Renderscript脚本,在过去的一年里,Android-Studio成为谷歌支持Android应用程序开发的唯一IDE。

    null

但对我不起作用。

我从找到的某个示例(用于Eclipse)中创建了一个名为“julia.rs”的文件。代码如下:

#pragma version(1)
#pragma rs java_package_name(lb.com.myapplication)

float cx;
float cy;
float width;
float height;
float zoom;
int precision;

uchar *color;

void root(const uchar4 *in, uchar4 *out, uint32_t x, uint32_t y) {
    float fx = (x + 0.5f) / width * (4.f / zoom) - (2.f / zoom);
    float fy = (y + 0.5f) / height * (4.f / zoom) - (2.f / zoom);

    float t = 0;
    int k = 0;

    while(k < precision - 1) {
        t = fx * fx - fy * fy + cx;
        fy = 2 * fx * fy + cy;
        fx = t;
        if (fx * fx + fy * fy >= 4) {
           break;
        }
        k++;
    }
    out->b = color[k*3+0];
    out->g = color[k*3+1];
    out->r = color[k*3+2];
}

在java文件中,我想访问新创建的文件,所以我开始编写“scriptc”,并希望它填充所需的额外字符,但它没有。

mScript=new ScriptC_julia(mRS,getResources(),R.raw.julia);
defaultConfig {
    renderscriptTargetApi 22
    renderscriptSupportModeEnabled true
    ...
Error:Execution failed for task ':app:compileDebugRenderscript'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'D:\AppData\Local\Android\Sdk\build-tools\23.0.0-preview\llvm-rs-cc.exe'' finished with non-zero exit value -1073741515
Error:Execution failed for task ':renderscript:compileArmDebugRenderscript'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'D:\android\Sdk\build-tools\23.0.1\llvm-rs-cc.exe'' finished with non-zero exit value -1073741515

共有1个答案

吴兴国
2023-03-14

成功构建项目所需的唯一修改是将RenderScriptTargetAPI值从22更改为18。否则,Renderscript脚本编译将生成使用64位ABI的中间文件,生成过程无法将其与使用32位ABI的22.0.01生成工具中的预编译中间文件链接。

更新:截至2015年9月,新版本的构建工具(23.0.0)不能与Renderscript支持库一起工作,因此您必须禁用它或将工具还原到22.0.01。

 类似资料:
  • 问题内容: 我正在编写插件以便在Linux上重新启动服务器应用程序(尽管我正在OSX上进行测试)。我这样做的方法是使用Shell脚本,该脚本命令应用程序停止运行,然后监督进程的终止,并在需要时安全地启动一个新的进程。 当我从命令行手动执行脚本时,脚本即可工作。但是,当我从应用程序内部执行它时,shell进程与应用程序一起被杀死。 我尝试了两种不同的从Java运行过程的方法: 和 这两种方法的结果相

  • 问题内容: 我使用 hsqldb 运行需要数据库访问权限的单元测试。 目前,当我想为特定测试创建表时,我具有以下代码: 该方法检索在上下文中定义的DataSource : 现在,我想从一个SQL脚本创建表(当然,此脚本将包含多个表创建): 在HSQLDB文档中,我可以要求他在启动时运行脚本。但是,它不符合我的要求,因为我想在运行时运行脚本。 当然,我可以自己读取文件,并且对于每个SQL语句,我都运

  • 问题内容: 这听起来像是一个非常笼统的问题,但这是正确的。 我有一个要求,以创建我的应用程序配置脚本,将生成的这种配置的结果(基本,,)。我的问题是,我应该从哪里开始构建?有没有我可以效仿的例子? 问题答案: 要创建标准的“配置”脚本,您需要GNU autoconf。您可能还需要GNU automake和libtool。 有大量的文档和指导。谷歌搜索“ autoconf automake howt

  • 我在 Jenkins 中创建了一个管道作业,我需要创建一个管道脚本来显示开发阶段的失败和不稳定的构建。在 Jenkins 2.0 中创建此脚本的步骤是什么,或者是否有任何示例管道脚本

  • 我试图运行一个简单的登录测试,但我被困在这个。Appium不打开应用程序:( 下面是Java中的clode类: 有人知道我做错了什么吗?我是缺少任何导入还是语法错误?

  • 问题内容: 我创建了一个示例项目,并在Eclipse中运行“ Hello Android Application”。 我了解到可以使用XML标记或Java代码两种方式创建Textview。 默认情况下,我的示例项目中有一个Textview说“ Hello world”。我想使用Java代码创建一个Textview并在其上显示一些消息。 我进行了大量搜索,但无法理解代码中提到的步骤和布局设置。 这是