"зависимости" не могут быть применены к " (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
File - > Settings - > Build, Execution, Deployment - > Build Tools - > 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 по умолчанию" , и это не помогает:
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. Будьте осторожны, выберите папку , а не .файл проекта iml.
Вырезать, а затем вставить "buildTypes" в том же месте в разделе "android" и повторно синхронизировать (обновить) проект
Я исправил эту проблему с помощью gradle 2.10.
Скачать его можно ЗДЕСЬ: http://gradle.org/gradle-download/
И установите локальное распределение gradle следующим образом:





Comments