Renderscript没有使用构建工具25.0.0+进行编译

时间:2017-03-07 11:00:33

标签: android android-gradle renderscript

我在更新到构建工具25.0.2后得到以下错误(23.0.2工作正常):

Error:target API level '25' is out of range ('11' - '24')

Error:Execution failed for task ':app:compileDevDebugRenderscript'.
> com.android.ide.common.process.ProcessException: Error while executing process /usr/local/opt/android-sdk/build-tools/25.0.2/llvm-rs-cc with arguments {-O 3 -I /usr/local/opt/android-sdk/build-tools/25.0.2/renderscript/include/ -I /usr/local/opt/android-sdk/build-tools/25.0.2/renderscript/clang-include/ -p /<redacted>/app/build/generated/source/rs/dev/debug -o /<redacted>/app/build/generated/res/rs/dev/debug/raw -target-api 25 /<redacted>/app/src/main/rs/<redacted>.rs}

我在app / build.gradle中有以下内容:

android {
    compileSdkVersion 25
    buildToolsVersion '25.0.2'

    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 25
        renderscriptTargetApi 21
        renderscriptSupportModeEnabled false
        ...
    }
    ...
}

正如您所见,renderscriptTargetApi设置为21,但新的构建工具强制它为25。由于依赖于需要关闭它的库,我无法打开支持模式。

我是否应该恢复构建工具23.0.2并等待修复,或者是否有任何变通方法可以让renderscript与最新的构建工具一起使用?

2 个答案:

答案 0 :(得分:6)

在构建工具r25中似乎有错误。我已向Android跟踪器提交了一张票:https://code.google.com/p/android/issues/detail?id=260929&thanks=260929&ts=1490175869

答案 1 :(得分:1)

似乎gradle-plugin以某种方式用targetSdkVersion覆盖renderscriptTargetApi。

我猜你可以在问题解决之前使用targetSdkVersion 21