【问题标题】:How do I determine which Android Gradle Plugin version is needed for my target SDK?如何确定我的目标 SDK 需要哪个 Android Gradle 插件版本?
【发布时间】:2018-10-20 03:52:17
【问题描述】:

我正在尝试将我的项目与 Gradle 文件同步,但每次我这样做时都会收到相同的错误消息:

WARNING: The specified Android SDK Build Tools version (27.0.0) is ignored, as it is below the minimum supported version (28.0.3) for Android Gradle Plugin 3.2.1.

我的目标 SDK 版本是 API 24,因为我正在为 Android 7.0 (Nougat) 操作系统开发应用程序。

我查看了 Android 开发者网站:https://developer.android.com/,但我找不到任何关于 Android Gradle 插件对应于哪个目标 SDK 版本的信息。我已经阅读了几个 Stack Overflow 问题,人们询问他们的项目需要哪个特定的 Android Gradle 插件,但没有一个问题是关于 在哪里 可以找到这些信息。

谁能告诉我如何知道我需要哪个 Android Gradle 插件版本?

这是我的应用文件夹中的两个 build.gradle 文件:

(模块:应用程序)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion '27.0.0'

    defaultConfig {
        applicationId "com.android.example.favoritetoys"
        minSdkVersion 14
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            debuggable true
    }
        debug {
            applicationIdSuffix ".debug"
            debuggable true
        }
    }

}

(项目)

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath 'com.google.gms:google-services:3.2.1'
    }
}

allprojects {
    String osName = System.getProperty("os.name").toLowerCase();
    if (osName.contains("windows")) {
        buildDir = "C:/tmp/${rootProject.name}/${project.name}"
    }
    repositories {
        jcenter()
        google()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

【问题讨论】:

    标签: java android android-studio gradle sdk


    【解决方案1】:

    自 AGP(Android Gradle 插件)版本 3.0.0 起,Android Build Tools 版本有最低版本要求,这是一种设计行为。

    http://google.github.io/android-gradle-dsl/current/com.android.build.gradle.AppExtension.html#com.android.build.gradle.AppExtension:buildToolsVersion

    所以,如果你想强制你的项目使用旧版本的构建工具,恐怕你需要将你的 AGP 降级到 3.0.0 以下的版本。

    但是,您的问题是为什么必须使用旧的构建工具?

    https://developer.android.com/studio/releases/build-tools 看到。

    您应该始终更新您的构建工具组件 使用 Android SDK Manager 下载最新版本。

    供您交叉参考build.gradle中三个不同版本配置之间的差异,即compileSdkVersiontargetSdkVersionminSdkVersion

    对于您的情况,也许您只需将您的 targetSdkVersion 更改为 28

    【讨论】:

    • 啊。我不知道 compileSdkVersion 和 targetSdkVersion 之间有区别。谢谢你。我还错误地认为,无论出于何种原因,如果 compileSdkVersion 较低,则 Gradle Build 版本需要较低。我对问题的描述进行了更正。
    猜你喜欢
    • 1970-01-01
    • 2022-07-07
    • 1970-01-01
    • 2022-11-15
    • 2022-12-06
    • 1970-01-01
    • 1970-01-01
    • 2016-04-08
    • 1970-01-01
    相关资源
    最近更新 更多