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" 
.. 
}

работал у меня.