buildToolsVersion 和 compileSdkVersion 已被弃用

buildToolsVersion and compileSdkVersion had been deprecated

我刚刚在库模块中注意到,compileSdkVersionbuildToolsVersion 最近已被弃用。这是它抱怨的两种配置(删除线文本)。这目前只影响 com.android.library,不影响 com.android.application:

plugins {
    id "com.android.library"
}
android {
    defaultConfig {
        compileSdkVersion 31
        buildToolsVersion "31.0.0"
    }
}

点击时,可能会注意到 com.android.build.gradle.AndroidConfig 已被弃用,取而代之的是 BaseExtension(无论这对匹配 build.gradle 意味着什么):


显然 compileSdkVersion 现在称为 compileSdk(这部分似乎有效)...并且 buildToolsVersion 必须定义为 属性。但是在build的时候(不是没试过),属性 buildToolsVerson = "31.0.0"是未知的:

android {
    defaultConfig {
        compileSdk 31
        buildToolsVersion = "31.0.0"
    }
}

如何在没有弃用警告的情况下构建它?

它是这样构建的(需要更改库模块):

plugins {
    id "com.android.application"
}
android {
    defaultConfig {
        compileSdkVersion 31
    }
}

plugins {
    id "com.android.library"
}
android {
    defaultConfig {
        // compileSdkVersion 31
        compileSdk 31
    }
}

如果您使用的是 kts gradle 文件 (build.gradle.kts)

plugins {
    id("com.android.library")
}
android {
    defaultConfig {
        // compileSdkVersion 31
        compileSdk = 31
    }
}