找不到参数的方法classpath()[com.android.tools.build:gradle:3.4.2]

时间:2019-07-13 00:07:51

标签: android android-studio gradle android-gradle gradle-plugin

这是我的build.gradle文件

apply plugin: 'java'

repositories {
    jcenter()
    google()
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.2'
    }
}

dependencies {
    // The production code uses the SLF4J logging API at compile time
    compile 'org.slf4j:slf4j-api:1.7.25'
    testCompile 'junit:junit:4.12'
}

这是我运行gradle build

时遇到的错误
  

在类型org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler的对象上找不到参数[com.android.tools.build:gradle:3.4.2]的方法classpath()。

我有多模块项目,这是我的settings.gradle

include 'module-1'
include 'module-2'
include 'module-3'
include 'module-4:java'
include 'module-5'

rootProject.name = 'my-root-project'

我想做的是让子模块使用插件com.android.application;这是plugin1的build.gradle,这是Android应用程序项目

apply plugin: 'com.android.application'
// ...

1 个答案:

答案 0 :(得分:1)

您必须将dependencies块移出repositories块:

dependencies {
        classpath 'com.android.tools.build:gradle:3.4.2'
    }

类似的东西:

buildscript {    
    repositories {
        google()
        jcenter()        
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.2'
        //...
}

allprojects {
    repositories {
        google()
        jcenter()     
    }
}