'зависимости' не могут быть применены к '(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 ответов:
на основе того, что генерирует 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() } }
на
Windows
-0 - > Настройки -> Сборки, Выполнения, Развертывания Строительства -> Инструменты -> Gradle ВMac
Предпочтения -> Сборки, Выполнения, Развертывания Строительства -> Инструменты -> Gradle В
и выберите Использовать оболочку gradle по умолчанию
моя проблема в том, что вся сборка.файл настроек был занят
cannot be applied to '(groovy.lang.Closure)'
предупреждающие сообщения вместо того, чтобы происходить на любой конкретной переменной.Я пробовал все решения, предоставляемые другими, но ни один из них не работает для меня. Я закончил делать эти шаги, то он работает как шарм. Если вы столкнулись с той же проблемой, то дайте ему попробовать.
- открыть и отредактировать файл:
yourproject/gradle/wrapper/gradle-wrapper.properties
. Измените содержимое, чтобы обновить версию дистрибутива gradle, как показано на рисунке ниже затем сохранить.- удалить эту папку:
yourproject/.gradle
.- клик
Sync project with gradle files
, тогда вам хорошо идти.
Если вы уже используете "по умолчанию 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)
Я уверен, что проблема полностью не связана с куском кода, который дает вам предупреждения, скорее всего, это ваш файл 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 { ... } }
- закрыть проект (файл / закрыть проект),
- выберите "Открыть существующий проект Android Studio" в меню Пуск и выберите папку, содержащую ваш проект Android.
эта работа для меня.
Gradle файлы могут быть сделаны явными в нескольких местах, чтобы избежать таких ошибок. Например, изменить
configurations {
до
project.configurations {
или
task { description 'foo'
до
task { setDescription 'foo'
чтобы устранить проблему, просто закройте проект, затем выберите "Открыть существующий проект Android Studio" в меню Пуск и выберите папку, содержащую ваш проект Android. Осторожно, выберите папку, нет .файл проекта ИМЛ.
вырезать и затем вставить "buildTypes" в том же месте в разделе "android" и повторно синхронизировать (обновить) проект
я исправил эту проблему с gradle 2.10.
скачать его здесь : http://gradle.org/gradle-download/
и установите локальное распределение gradle следующим образом: