AndroidStudio (AS) 在实现 Renderscript 时找不到 ScriptC_invert 的定义(在另一个文件 invert.rs 中)。它被放置在目录 src/main/rs 中,并在 gradle(AndroidStudio 文件夹)中更新。我正在使用 Android SDK 33,它应该仍然支持 Renderscripts。
我确信不存在代码方面的问题,因为我与网上的几个示例一致,即 invert.rs 包含:
// File: invert.rs
#pragma version(1)
#pragma rs java_package_name(com.example.sharp)
和Java代码:
ScriptC_invert invert = new ScriptC_invert(rs);
但我得到:
错误:找不到符号 ScriptC_invert 反转 = new ScriptC_invert(rs);
build.gradle 包含:
renderscriptTargetApi 18
renderscriptSupportModeEnabled true
以及:
sourceSets {
main {
renderscript {
srcDirs 'src/main/rs'
}
}
}
有人设法让它在当前的 android/AS 版本上运行吗?谢谢!
尝试不使用本机构建脚本,并将文件放在:
app/src/main/rs/invert.rs
最后,尝试一下:
import com.example.sharp.ScriptC_invert;