'зависимости' не могут быть применены к '(groovy.ленг.Закрытие')


Я не могу исправить эту ошибку:

dependencies cannot be applied to '(groovy.lang.Closure)

Это мой файл gradle:

buildscript {
     repositories {
         maven { url 'http://download.crashlytics.com/maven' }
     }

     dependencies {
         classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
     }
 }
apply plugin: 'android'
apply plugin: 'crashlytics'

repositories {
   maven { url 'http://download.crashlytics.com/maven' }
}

dependencies {
    compile fileTree(dir: "$buildDir/native-libs", include: 'native-libs.jar')
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(':FRNDzTER_core')
    compile project(':cropper')
    compile project(':stickyListHeaders')
    compile "com.nostra13.universalimageloader:universal-image-loader:${rootProject.universalImageLoaderVersion}"
    compile "com.google.android.gms:play-    services:${rootProject.googlePlayServicesVersion}"
    compile "de.keyboardsurfer.android.widget:crouton:${rootProject.croutonVersion}"
    compile "com.nineoldandroids:library:${rootProject.nineoldandroidsVersion}"
    compile 'com.github.chrisbanes.actionbarpulltorefresh:library:+'
    compile 'com.crashlytics.android:crashlytics:1.+'
}

android{
    compileSdkVersion rootProject.compileSdkVersion
    buildToolsVersion rootProject.buildToolsVersion
    defaultConfig {
        minSdkVersion rootProject.minSdkVersion
        targetSdkVersion rootProject.targetSdkVersion
        versionCode rootProject.versionCode
        versionName rootProject.versionName
    } 
    buildTypes {
        release {
            debuggable rootProject.prodDebug
            proguardFile 'proguard.cfg'
        }
    }

    dependencies {
    }

    packagingOptions {
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
    }
    lintOptions {
        abortOnError false
    }
 }
14 115

14 ответов:

на основе того, что генерирует Android Studio, вам нужно иметь файл проекта верхнего уровня build.gradle, и еще один для вашего приложения build.gradle.

топ-уровня:

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

buildscript {
    repositories {
        jcenter()
        maven { url 'http://download.crashlytics.com/maven' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.0'
        classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        maven { url 'http://download.crashlytics.com/maven' }
    }
}

приложения:

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

android{
    compileSdkVersion rootProject.compileSdkVersion
    buildToolsVersion rootProject.buildToolsVersion
    defaultConfig {
        minSdkVersion rootProject.minSdkVersion
        targetSdkVersion rootProject.targetSdkVersion
        versionCode rootProject.versionCode
        versionName rootProject.versionName
    } 
    buildTypes {
        release {
            debuggable rootProject.prodDebug
            proguardFile 'proguard.cfg'
        }
    }

    packagingOptions {
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
    }
    lintOptions {
        abortOnError false
    }
 }     `

dependencies {
    compile fileTree(dir: "$buildDir/native-libs", include: 'native-libs.jar')
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(':FRNDzTER_core')
    compile project(':cropper')
    compile project(':stickyListHeaders')
    compile "com.nostra13.universalimageloader:universal-image-          l                        loader:${rootProject.universalImageLoaderVersion}"
    compile "com.google.android.gms:play-    services:${rootProject.googlePlayServicesVersion}"
    compile "   "de.keyboardsurfer.android.widget:crouton:${rootProject.croutonVersion}"
    compile "com.nineoldandroids:library:${rootProject.nineoldandroidsVersion}"
    compile 'com.github.chrisbanes.actionbarpulltorefresh:library:+'
    compile 'com.crashlytics.android:crashlytics:1.+'
}

но даже без всего этого, ваша проблема в том что у вас есть dependencies в своем android плагин конфиг.

android {
    dependencies {
    }
}

удалить пустые dependencies блок.

EDIT: я также начал получать эту ошибку с последней Android Studio, все, что мне нужно было сделать, это добавить новую версию плагина Gradle и compileSdkVersion 22.

buildscript {
    repositories {
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'

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

allprojects {
    repositories {
        jcenter()
        mavenCentral()
    }
}

вы можете перейти в Настройки и выбрать "использовать оболочку gradle по умолчанию", а затем перестроить проект. Это хорошо работало для меня: enter image description here

на

Windows

-0 - > Настройки -> Сборки, Выполнения, Развертывания Строительства -> Инструменты -> Gradle В

Mac

Предпочтения -> Сборки, Выполнения, Развертывания Строительства -> Инструменты -> Gradle В

и выберите Использовать оболочку gradle по умолчанию

моя проблема в том, что вся сборка.файл настроек был занят cannot be applied to '(groovy.lang.Closure)' предупреждающие сообщения вместо того, чтобы происходить на любой конкретной переменной.

Я пробовал все решения, предоставляемые другими, но ни один из них не работает для меня. Я закончил делать эти шаги, то он работает как шарм. Если вы столкнулись с той же проблемой, то дайте ему попробовать.

  1. открыть и отредактировать файл: yourproject/gradle/wrapper/gradle-wrapper.properties. Измените содержимое, чтобы обновить версию дистрибутива gradle, как показано на рисунке ниже затем сохранить.
  2. удалить эту папку: yourproject/.gradle.
  3. клик Sync project with gradle files, тогда вам хорошо идти.

enter image description here

Если вы уже используете "по умолчанию gradle wrapper" и это не помогает:

In Menu click: File -> Invalidate Caches / Restart...

Если это также не помогает попробовать в 2 шага:

1) Delete ".gradle" folder (and "build" folder if you have it already)

2) In Menu click: File -> Invalidate Caches / Restart...

после перезапуска предупреждение должно исчезнуть.

(для меня это работало и для Android Studio и для IntelliJ Idea)

Я зашел в настройки, чтобы попробовать один из других ответов, когда я заметил предупреждение о том, что gradle домашний каталог был неправ. Поэтому я открыл файловый браузер и выбрал более новый gradle версия, и все ошибки ушли. Изображение показано ниже.

enter image description here

Я уверен, что проблема полностью не связана с куском кода, который дает вам предупреждения, скорее всего, это ваш файл proguard. У меня было следующее В моем коде и получил то же предупреждение:

buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }

комментируяrunProguard false, все мои проблемы уходят, идут цифры:)

у меня такая же проблема в android studio 2.2,он работает для меня:

оригинал:

android {
...
}

dependencies {
...
}

движение dependencies на android:

android {
...
   dependencies {
   ...
   }
}
  1. закрыть проект (файл / закрыть проект),
  2. выберите "Открыть существующий проект Android Studio" в меню Пуск и выберите папку, содержащую ваш проект Android.

эта работа для меня.

Gradle файлы могут быть сделаны явными в нескольких местах, чтобы избежать таких ошибок. Например, изменить

configurations {

до

project.configurations {

или

task {
    description 'foo'

до

task {
    setDescription 'foo'

чтобы устранить проблему, просто закройте проект, затем выберите "Открыть существующий проект Android Studio" в меню Пуск и выберите папку, содержащую ваш проект Android. Осторожно, выберите папку, нет .файл проекта ИМЛ.

Я решил проблему в Android Studio, аннулировав кэш и перезапустив его.

File-> Invalidate Caches / Restart..

enter image description here

вырезать и затем вставить "buildTypes" в том же месте в разделе "android" и повторно синхронизировать (обновить) проект

я исправил эту проблему с gradle 2.10.

скачать его здесь : http://gradle.org/gradle-download/

и установите локальное распределение gradle следующим образом:

as shown here