可以在Android SDK 23上使用RenderScript吗+

可以在Android SDK 23上使用RenderScript吗+,android,renderscript,Android,Renderscript,我一直在努力让RenderScript在我的应用程序上运行,TargetSDKVersion 26和minSDKVersion 21在Gradle Sync中出现错误: 错误:任务“:app:CompiledBugRenderScript”的执行失败。 com.android.ide.common.process.ProcessException:执行process/home/mail929/.android/sdk/build tools/26.0.2/llvm-rs-cc(带参数)时出错{-

我一直在努力让RenderScript在我的应用程序上运行,TargetSDKVersion 26和minSDKVersion 21在Gradle Sync中出现错误:

错误:任务“:app:CompiledBugRenderScript”的执行失败。 com.android.ide.common.process.ProcessException:执行process/home/mail929/.android/sdk/build tools/26.0.2/llvm-rs-cc(带参数)时出错{-O 3-I/home/mail929/.android/sdk/build tools/26.0.2/renderscript/include/-I/home/mail929/.android/sdk/build tools/26.0.2/renderscript/clang-include/-p/home/mail929/Code/android/SmartME/app/build/generated/source/rs/rs/debug/raw-target api 21/home/mail929/Code/android/SmartME/app/src/main/rs/combine.rs}

最后,我注意到在照片的底部:

图形功能和类型

RenderScript的图形子系统已在API级别23删除

这是否意味着我根本不能使用RenderScript?如果是这样,有什么好的替代方案吗

这是我的完整版本。gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.2"
    defaultConfig {
        applicationId "edu.marquette.mcw.smartme"
        minSdkVersion 21
        targetSdkVersion 26
        versionCode 4
        versionName "2rc1"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

        renderscriptTargetApi 18
        renderscriptSupportModeEnabled false

    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:26.0.0'
    compile 'com.android.support:cardview-v7:26.0.0'

    testCompile 'junit:junit:4.12'
}

不,Renderscript并没有被完全弃用,只有直接在某些OpenGL类型构造上操作的图形功能。由于它或多或少做了OpenGL中可用的相同事情,所以它被删除了,而您可以与OpenGL交换纹理


在build.gradle中结合使用minSdkVersion和Renderscript TargetAPI将导致Renderscript目标API使用minSdkVersion。这种工作方式可能会非常奇怪。除非您在android.Renderscript框架包中绝对需要某些内容,否则请通过设置Renderscript SupportMo来使用支持库版本deEnabled为true。这也可能有助于解决您看到的任何问题。如果没有,请尝试从生成日志中提供更多详细信息。

实际上,我决定手动运行该命令以查看错误,并收到以下错误:

加载共享库时出错:libncurses.so.5:无法打开共享对象文件:没有此类文件或目录

我通过在Fedora上安装ncurses compat libs修复了这个问题,Gradle同步成功完成