无法在 Android Studio 中使用构建工具 29 解析 Build.VERSION_CODES.Q

Cannot resolve Build.VERSION_CODES.Q with build tools 29 in Android Studio

为什么我得到

Cannot resolve symbol 'Q'

使用构建工具 29.0.0 检查 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) 时?

来自Google 所以它已经存在了。

将您的 compileSdkVersion 设置为 29 或更高。 buildToolsVersion(如果你还有)对 Android SDK 符号没有影响——这由你的 compileSdkVersion.

决定

要修复它,您需要将 compileSdkVersion 更新为 29。当您这样做时,不妨更新 buildToolsVersion。您可以通过更改 /android/build.gradle 文件中的这些行来做到这一点。

...
buildscript {
    ext {
        ...
        buildToolsVersion = "29.0.3"
        compileSdkVersion = 29
        ...
    }
...

您还可以将 gradle 版本恢复为 3.5.0,并保持 compileSdkVersion 为 28。 所以,在 android/build.gradle:

buildscript {
    ...
    dependencies {
        ...
        classpath 'com.android.tools.build:gradle:3.5.0'
        ...
    }
}

在你的 android/app/build.gradle:

...
android {
    compileSdkVersion 28
    ...
}

3.5.0 以外的版本也可以,但我还没有测试过它们。