BuildTypes нельзя применять к groovy.lang.Closure
Я получаю это предупреждение в файле проекта gradle:
Предупреждение: (16, 5) 'buildTypes' не может быть применен к '(groovy.lang.Closure < com.android.build.gradle.internal.dsl.BuildType > )'
Мой раздел buildTypes:
buildTypes {
debug {
debuggable true
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
}
}
В настоящее время я использую Android Studio 1.1.0, compileSdkVersion 22, buildToolsVersion 22.0.0 и targetSdkVersion 22. Я попытался вернуться к 21, но все еще получал предупреждение.
Что вызывает это предупреждение и как оно исправлено?
Ответы
Ответ 1
Для меня проблема не была решена путем применения вышеуказанного решения. Вместо этого мне пришлось перейти к настройкам в Android Studio и выбрать "Использовать gradle обертку":
В Android Studio выберите:
Файл\Настройки\Сборка, выполнение, развертывание\Инструменты сборки \Gradle
(Пользователи Mac: Android Studio\Preferences...\Build, Execution, Deployment\Build tools\Gradle)
Отметьте: Использовать оболочку по умолчанию gradle (по умолчанию)
Это удалено все 'не может быть применено к' (groovy.lang.Closure ') предупреждениям в файлах сборки.
Ответ 2
У меня была такая же проблема. Перемещение buildTypes в качестве последней записи в секции Android помогло мне.
android {
...
buildTypes {
}
}
Ответ 3
1 Вырезать и вставить "buildTypes" в том же положении в разделе "android"
2 Re Sync Project
Ответ 4
Чтобы решить эту проблему, в Android Studio перейдите в Файл → Настройки.
В настройках выберите Сборка, выполнение, развертывание → Инструменты сборки → Gradle
и выберите "Использовать опцию по умолчанию gradle (рекомендуется)" .
После перестроить ваш build.gradle будет полностью.
Ответ 5
Если ни один из вышеперечисленных параметров не работает, выполните следующие действия
- Измените проект на
Project
в "Project Explorer".
- Удалить папки
.gradle
и build
.
- Нажмите Файл → Неверный кеш/перезапуск... → Недействительный и перезагруженный
- Теперь его работающая, счастливая кодировка.
Ответ 6
Мне удалось решить мою проблему, просто сделав это:
Нажмите "Файл", затем выберите "Invalidate Caches/Restart
Ответ 7
Самый простой способ исправить эту проблему Gradle - это воссоздать проект, чтобы позволить Android Studio перенастроить Gradle.
Просто выберите "Открыть существующий проект Android Studio" и выберите папку проекта.
Подробнее здесь.
Ответ 8
это сработало для меня:
buildTypes.debug {
ext.enableCrashlytics = false
}
buildTypes.release {
debuggable false
zipAlignEnabled true
minifyEnabled false
signingConfig signingConfigs.release
}
Ответ 9
Проблема возникает при импорте проекта в вашу среду, а плагин Gradle устанавливается в другом месте, чем в оригинале. Вам просто нужно указать, где находится ваша установка Gradle.
Перемещение buildTypes или defaultConfig или что-то другое между собой не является полным решением
Ответ 10
Проблема заключается в том, что ваши настройки Android Studio, которые вы, вероятно, импортировали при обновлении, все еще указывали на gradle -2.4 или некоторые другие версии, чем ожидали Android Studio 1.5.
Чтобы решить эту проблему, вы должны открыть Настройки и перейти в Сборка, выполнение, развертывание > Инструменты сборки > Gradle и изменить локальный дистрибутив gradle home path или выберите обертку по умолчанию gradle.
Применить и повторно синхронизировать ваш проект.
Ответ 11
У меня была та же проблема. Я начал новый проект, и он работал, поэтому я просто скопировал файл build.gradle. В моем случае единственная разница заключалась в отсутствии секции compileOptions. Я удалил его из своего проекта, синхронизировал gradle, снова вставил раздел compileOptions и снова синхронизировал gradle.
Ответ 12
В Android Studio перейдите в меню Файл → Настройки. Затем выберите "Сборка", "Выполнение", "Развертывание" → "Инструменты сборки" → Gradle и выберите "Использовать оболочку по умолчанию Gradle (рекомендуется)".
Восстановить проект.
Ответ 13
В моем случае раздел buildTypes
был выше моего раздела productFlavors
. Изменяя свои позиции, они избавились от предупреждения:
ДО:
buildTypes {
debug {
minifyEnabled false
shrinkResources false
...//etc
}
}
productFlavors {
demo {
...//etc
}
}
ПОСЛЕ:
productFlavors {
demo {
...//etc
}
}
buildTypes {
debug {
minifyEnabled false
shrinkResources false
...//etc
}
}
Я использую Android Studio 2.1.2 со следующей конфигурацией в верхней части раздела android
:
android {
compileSdkVersion 24
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.xyz.abc"
minSdkVersion 14
targetSdkVersion 24
//..etc
Ответ 14
У меня было это предупреждение после обновления Android Studio.
Когда я пошел в Настройки → Инструменты сборки → Gradle Я обнаружил, что Локальный Gradle путь был недействителен, так как версия Gradle была обновлена также с 2.6 до 2.8.
Исправлен новый путь и повторная синхронизация Gradle удалена предупреждение.
Другой способ - использовать gradlewrapper
.
Ответ 15
Изменение дистрибутиваUrl = https://services.gradle.org/distributions/ gradle -2.1-bin.zip до gradle -2.1-all.zip в gradle -wrapper.properties решена проблема для меня.
Ответ 16
EDIT:
Это как я, наконец, решил эту проблему...
-
Перейдите в Android Studio, чтобы:
Файл | Настройки | Создание, выполнение, развертывание | Строительный инструмент | Gradle
-
Убедитесь, что это не отмечено, несмотря на то, что рекомендуется сохранить...
Использовать по умолчанию Gradle Wrapper (рекомендуется)
-
и что этот флажок установлен...
Использовать локальный дистрибутив Gradle
-
и что Gradle Home установлен на это, возможно, с более поздним gradle -n.n...
C:/Программные файлы /Android/Android Studio1/ gradle/gradle -2.4
Возможно, вам придется перезапустить Android Studio, перестроить проект и т.д., но проблема решена.
Конец EDIT.
Я отправляю это, чтобы советовать кому-то еще новому по этой проблеме игнорировать его. Проект работает совершенно независимо. Это довольно просто ошибка в системе сборки, надеюсь, скоро будет исправлена. Я отправил комментарий и проголосовал здесь, где он снова является активной темой...
https://code.google.com/p/android/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars&groupby=&sort=&id=76719
После неудачных попыток предложения в следующих трех потоках я переделал весь проект с нуля. Я начал новый проект Android Studio, скопировал все исходные библиотеки и основные файлы в него, игнорируя любые файлы, которые генерируются системой сборки и перестраивал проект. Все было в порядке, за исключением того, что "не могут быть применены к" (groovy.lang.Closure). "Предупреждения снова появились с вежливостью. Затем я снова пошел к этим предложениям, чтобы быть уверенным, что я ничего не забыл.
1
buildTypes нельзя применить к groovy.lang.Closure
перейдите в настройки в Android Studio и выберите "Использовать Gradle обертку":
В Android Studio выберите: File\Settings\Build, Execution, Deployment\Build tools\Gradle
Mark: Использовать оболочку по умолчанию Gradle (по умолчанию)
Это удалено все 'не может быть применено к' (groovy.lang.Closure ') предупреждениям в файлах сборки.
2
'зависимости не могут применяться к' (groovy.lang.Closure) '
Откройте и отредактируйте файл: yourproject/gradle/wrapper/gradle -wrapper.propertie. Измените содержимое, как показано ниже, затем сохраните.
Удалите эту папку: yourproject/.gradle.
Нажмите "Синхронизировать проект" с файлами Gradle, тогда вам будет удобно идти.
3
https://github.com/DrKLO/Telegram/issues/870
Моя конфигурация:
Android Studio 1.3, compileSdk Version 22, buildTools Версия "22.0.1"
Ответ 17
удалить gradle папку в папке приложения и повторить проект
Ответ 18
Все, что мне нужно было сделать, чтобы удалить
productFlavors {
}
С
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
}
}
и предупреждение исчезло.
Окончательный вид выглядит следующим образом
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
Ответ 19
Изменение buildToolsVersion
из
android {
compileSdkVersion 24
buildToolsVersion "24.0.2"
..
}
к
android {
compileSdkVersion 24
buildToolsVersion "24.0.1"
..
}
работал у меня.