当前位置: 首页 > 知识库问答 >
问题:

我如何确定我的目标SDK需要哪个Android Gradle插件版本?

慕璞
2023-03-14

警告:指定的Android SDK构建工具版本(27.0.0)被忽略,因为它低于Android Gradle插件3.2.1支持的最低版本(28.0.3)。

我的目标SDK版本是API24,因为我正在为Android7.0(牛轧糖)操作系统开发一个应用程序。

我查看了Android开发人员站点:https://developer.Android.com/,我找不到任何关于Android Gradle插件与目标SDK版本对应的信息。我读过几个堆栈溢出问题,人们问他们的项目需要哪个特定的Android Gradle插件,但没有一个问题是关于在哪里找到这些信息。

(模块:app)

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
}

共有1个答案

祁博涛
2023-03-14

自AGP(Android Gradle Plugin)3.0.0版本以来,Android构建工具版本有一个最低版本要求,这是一种设计好的行为。

参见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管理器下载最新版本,您应该始终保持构建工具组件的更新。

    null
 类似资料:
  • 正在启动lib\main。调试模式下sdk gphone x86上的dart。。。正在运行Gradle任务“assembleDebug”。。。警告:插件cloud_firestore需要Android SDK版本31。警告:firebase_auth插件需要Android SDK版本31。警告:firebase_core插件需要Android SDK版本31。警告:firebase_存储插件需要A

  • 我没有指定任何GC,我认为我的JVM默认情况下没有启用任何GC。 当然,我知道 OpenJDK8 默认使用并行GC,但我认为它应该可以通过命令行打印,如下所示: < code > Java-XX:print flags final | grep Use | grep GC 我期望输出包含< code > bool UseParallelOldGC = true { product } ,但它不是:

  • 我刚刚用IDEA配置文件编译、构建并运行了Intellij-Community,但它中止了,看起来好像缺少了一个插件。如何解决这个问题? 以下是大部分日志: [ 14970] 错误 - llij.ide.plugins.PluginManager - IntelliJ IDEA (Community Edition) IC-146.快照 内部版本 #IC-146。SNAPSHOT [ 14970]

  • 如果我记得Jasmine中有一个命令可以记录我运行到控制台的Jasmine的确切版本,但我不记得它是什么了。我肯定我以前在某个地方见过这个,现在我真的需要它,我在任何地方都找不到它。有人知道它是什么吗? 编辑:使用< code>jasmine.getEnv()发布的解决方案。versionString()不工作——对于阅读本文的任何mods来说,修复该问题是作为一个新问题开始还是在此继续更好?

  • 问题内容: 我从“ 简单步骤中的Hibernate 3.2 ”一书开始学习Hibernate框架,但是我下载了最新版本的Hibernate,即4.1.9。根据这本书,我们需要在类路径中添加许多基本的jar,例如 Anttr-2.7.6.jar asm.jar asm-attrs.jar cglib-2.1.3.jar commons-collections-2.1.1.jar commons-lo

  • 我有这个错误: