为了编译Java 9+源代码,请将compileSdkVersion设置为30或以上

Mat*_*att 11 android

我正在尝试在 Android Studio 中构建一个项目并收到此错误

为了编译Java 9+源代码,请将compileSdkVersion设置为30或以上

在我的android/build.gradle文件中我已经设置了

 compileSdkVersion = 33
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

ut9*_*081 39

您可以通过将此代码添加到buildscriptbuild.gradle 文件中的部分来解决此问题:

subprojects { subproject ->
    afterEvaluate{
        if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) {
            android {
                compileSdkVersion rootProject.ext.compileSdkVersion
                buildToolsVersion rootProject.ext.buildToolsVersion
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

所以之后它应该看起来像这样:

buildscript {
    ext {
        compileSdkVersion = 33
        buildToolsVersion = "33.0.0"
    }
    subprojects { subproject ->
        afterEvaluate{
            if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) {
                android {
                    compileSdkVersion rootProject.ext.compileSdkVersion
                    buildToolsVersion rootProject.ext.buildToolsVersion
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这会将compileSdkVersion 和buildToolsVersion 应用于您拥有的任何Android 模块。
来源: https: //stackoverflow.com/a/25736483


mih*_*990 0

我今天也遇到这个错误。就我而言,我的 React Native 项目中的依赖项之一 ( react-native-azure-auth) 使用的是较旧的compileSdkVersion(29)。通过修补依赖项以使用compileSdkVersionfrom android/build.gradle( https://github.com/vmurin/react-native-azure-auth/issues/185 ) 修复了它,并为其打开了一个 PR ( https://github.com/vmurin /react-native-azure-auth/pull/186)。