【问题标题】:Error:(31, 0) Gradle DSL method not found: 'targetSdkVersion()'错误:(31, 0) 找不到 Gradle DSL 方法:'targetSdkVersion()'
【发布时间】:2015-08-28 10:49:56
【问题描述】:

build.gradle

buildscript {
    repositories {
        mavenCentral()

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()

}

dependencies {
    compile project(':libraries:android-ColorPickerPreference')
    compile 'com.android.support:support-v4:18.0.0'
    compile 'com.android.support:appcompat-v7:19.+'
    compile files('lib/dashclock-api-r2.0.jar')

}

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 19.1
    }
}

gradle-wrapper.properties

#Fri Aug 28 03:51:32 IRDT 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip

错误:(31, 0) Gradle DSL 方法未找到:'targetSdkVersion()' 可能的原因:

  • 项目“DroidPersianCalendar-master”可能正在使用不包含该方法的 Gradle 版本。 打开 Gradle 包装文件
  • 构建文件可能缺少 Gradle 插件。 应用 Gradle 插件
  • 【问题讨论】:

    • 欢迎来到 SO。请在这里提出问题,而不仅仅是发布和错误。此外,添加生成此错误的代码的minimal reproducible example
    • targetSdkVersion 需要 API 版本而不是 SDK 构建工具版本。所以应该是19

    标签: android gradle android-gradle-plugin build.gradle


    【解决方案1】:

    您在 build.gradle 脚本中使用了错误的 targetSdkVersion

    改变

    targetSdkVersion 19.1
    

    进入

    targetSdkVersion 19
    

    你也应该改变(这不是你问题的原因)

    apply plugin: 'android'
    

    进入

    apply plugin: 'com.android.application'
    

    你的脚本应该是这样的:

    apply plugin: 'com.android.application'
    
    buildscript {
        repositories {
            mavenCentral()
    
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:1.3.0'
        }
    }
    
    repositories {
        mavenCentral()
    }
    
    android {
        compileSdkVersion 19
        buildToolsVersion "19.1.0"  // or 22.0.1 , 23.0.0
    
        defaultConfig {
            minSdkVersion 7
            targetSdkVersion 19
        }
    }
    
    dependencies {
        compile project(':libraries:android-ColorPickerPreference')
        compile 'com.android.support:support-v4:18.0.0'
        compile 'com.android.support:appcompat-v7:19.+'
        compile files('lib/dashclock-api-r2.0.jar')
    }
    

    【讨论】:

    • 但问题是,当我将 targetSdkVersion 更改为 19 时,会筛选到此错误:
    • 错误:SDK 构建工具版本 (19.0.0) 对于项目 ':PersianCalendar' 来说太低了。最低要求是 19.1.0
    • 我在 android stodio 0.5 中没有这个错误并且项目运行正常。
    • 不要将 buildToolsVersion 与 targetSdkVersion 混淆。使用 buildToolsVersion "19.1.0" 或者我建议使用 buildToolsVersion "22.0.1" 或 buildToolsVersion "23.0.0" 但请检查您是否更新了 SDK 管理器。
    • @mahdizz 更新了答案
    猜你喜欢
    • 2015-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-28
    • 1970-01-01
    相关资源
    最近更新 更多