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

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

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(库)

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'

解决方法:

Error:(16, 0) Gradle DSL method not found: ‘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"
    ...
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐