找不到Gradle DSL方法:将模块导入项目后'compileSdkVersion()'

时间:2017-09-06 07:45:52

标签: android gradle android-gradle import-module

我在Android Studio中有一个项目。我需要在这个项目中导入一个模块:https://github.com/square/android-times-square/ 这个包里有一个图书馆和一个样本。我导入了它们。 我下载.zip并在Android Studio中执行文件 - >新 - >导入模块 之后我得到了重叠错误:

Error:(16, 0) Gradle DSL method not found: 'compileSdkVersion()'
Possible causes:
The project 'MyProject' may be using a version of the Android Gradle plug-in that does not contain the method 
(e.g. 'testCompile' was added in 1.1.0).
Upgrade plugin to version 2.3.3 and sync project. The project 'MyProject' may be using a version of Gradle that does not contain the method.
Open Gradle wrapper file. The build file may be missing a Gradle plugin.
Apply Gradle plugin

我已点击此错误消息中列出的所有链接。但它没有帮助。 gradle脚本有什么问题? 我不明白为什么有这么多的gradle文件以及我需要修复哪一个((

build.gradle(MyProject)

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

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

ext {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    minSdkVersion 16
    targetSdkVersion 25
}

allprojects {
    repositories {
        jcenter()
    }
}

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

build.gradle(library)

apply plugin: 'com.android.library'
apply plugin: 'checkstyle'

task checkstyle(type: Checkstyle) {
  configFile rootProject.file('checkstyle.xml')
  source 'src/main/java'
  ignoreFailures false
  showViolations true
  include '**/*.java'

  classpath = files()
}

afterEvaluate {
  if (project.tasks.findByName('check')) {
    check.dependsOn('checkstyle')
  }
}

android {
  compileSdkVersion rootProject.ext.compileSdkVersion
  buildToolsVersion rootProject.ext.buildToolsVersion

  defaultConfig {
    minSdkVersion rootProject.ext.minSdkVersion
  }


  lintOptions {
    warning 'MissingTranslation'
    textReport true
    textOutput 'stdout'
  }
}

dependencies {
  testCompile deps.festandroid
  testCompile deps.junit
  testCompile deps.robolectric
  testCompile deps.intellijannotations
}

apply from: rootProject.file('gradle/gradle-mvn-push.gradle')

build.gradle(样本)

apply plugin: 'com.android.application'

android {
  compileSdkVersion rootProject.ext.compileSdkVersion
  buildToolsVersion rootProject.ext.buildToolsVersion

  compileOptions {
    sourceCompatibility rootProject.ext.sourceCompatibilityVersion
    targetCompatibility rootProject.ext.targetCompatibilityVersion
  }

  defaultConfig {
    applicationId 'com.squareup.timessquare.sample'
    minSdkVersion rootProject.ext.minSdkVersion
    targetSdkVersion rootProject.ext.targetSdkVersion
    versionCode 1
    versionName '1.0.0'
  }

  lintOptions {
    disable 'MissingTranslation'
  }
}

dependencies {
  compile project(':library')
}

build.gradle(module:app)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "com.myproject.myproject2"
        minSdkVersion 16
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.3.1'
    compile 'com.android.support:design:25.3.1'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.android.support:support-v4:25.3.1'
    testCompile 'junit:junit:4.12'
}

settings.gradle

include ':app', ':sample', ':library'

1 个答案:

答案 0 :(得分:18)

  

错误:(16,0)未找到Gradle DSL方法:'compileSdkVersion()'

您无法在顶级文件中使用此语法:

ext {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    minSdkVersion 16
    targetSdkVersion 25
}

相反,您可以使用此语法(注意=

ext {
    // The following are only a few examples of the types of properties you can define.
    compileSdkVersion = 25
    buildToolsVersion = "26.0.1"
    ...
}