找不到Gradle DSL方法:' compile()项目' android'可能正在使用不包含该方法的Gradle版本

时间:2017-10-10 08:51:13

标签: android android-gradle build.gradle

我被困在这个问题上2-3个小时。我从类似的问题尝试了许多解决方案,但没有一个工作gradle构建工作正常,但在将sdk级别从23更改为17后,android studio开始给我这个错误。

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

该项目' android'可能正在使用不包含该方法的Android Gradle插件版本(例如,在1.1.0中添加了' testCompile')。 将插件升级到版本2.3.3并同步项目

该项目' android'可能正在使用不包含该方法的Gradle版本。 打开Gradle包装文件

构建文件可能缺少Gradle插件。 申请Gradle插件

以下是我的gradle文件:

的build.gradle(项目:机器人)

// Top-level build file where you can add configuration options common to all sub-projects/modules.

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

    }
}

allprojects {
    repositories {
        mavenLocal()
        jcenter()
    }
}

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

build.gradle(module:app)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion '25.0.0'
    defaultConfig {
        applicationId "com.google.transporttracker"
        minSdkVersion 17
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        resValue "string", "build_transport_id", (project.findProperty("build_transport_id") ?: "")
        resValue "string", "build_email", (project.findProperty("build_email") ?: "")
        resValue "string", "build_password", (project.findProperty("build_password") ?: "")
    }
    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE-FIREBASE.txt'
        exclude 'META-INF/NOTICE'
    }
    productFlavors {
    }
}

ext {
    support = '23.2.0'
    playServices = '10.2.4'
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile "com.android.support:appcompat-v7:$support" compile "com.android.support:cardview-v7:$support" compile "com.android.support:design:$support" compile "com.google.android.gms:play-services-gcm:$playServices" compile "com.google.android.gms:play-services-location:$playServices" compile "com.google.firebase:firebase-core:$playServices" compile "com.google.firebase:firebase-auth:$playServices" compile "com.google.firebase:firebase-config:$playServices" compile "com.google.firebase:firebase-crash:$playServices" compile "com.google.firebase:firebase-database:$playServices" compile 'com.android.support.constraint:constraint-layout:1.0.2'
    classpath 'com.google.gms:google-services:3.0.0'
    compile 'com.google.android.gms:play-services-maps:10.2.4'
    compile 'com.android.support:appcompat-v7:23.4.0'
    testCompile 'junit:junit:4.12'
}

apply plugin: 'com.google.gms.google-services'

1 个答案:

答案 0 :(得分:2)

问题出在依赖关系中:你不能在一行中编写多个编译语句。只需将每个编译语句写在一个单独的行中,而不是它可以工作。

我认为当您为依赖项版本使用变量时,自动格式化是一个错误,因此将依赖项换成双引号而不是单引号。