Подтвердить что ты не робот

Gradle Метод DSL не найден: 'apt()'

Я пытаюсь добавить последнюю версию butterknife, и я получаю эту ошибку от gradle:

Ошибка: (31, 0) Gradle Метод DSL не найден: 'apt()' Возможно причины:

В проекте "MyProject" может использоваться версия Gradle, который не содержит метода. Gradle Настройки Файл сборки может отсутствовать плагин Gradle. Подать выражение Gradle плагин

Где мой Gradle mobile build.gradle:

plugins {
    id "net.ltgt.apt" version "0.6"
}

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.mynamspace.myproject"
        minSdkVersion 19
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    wearApp project(':wear')
    testCompile 'junit:junit:4.12'
    compile 'com.jakewharton:butterknife:8.0.0'
    apt 'com.jakewharton:butterknife-compiler:8.0.0'
    compile 'com.android.support:appcompat-v7:23.3.0'
    compile 'com.google.android.gms:play-services:8.4.0'
    compile 'com.android.support:design:23.3.0'
    compile 'com.android.support:support-v4:23.3.0'
    compile 'com.android.support:recyclerview-v7:23.3.0'
}

Что случилось с gradle -apt-plugin?

4b9b3361

Ответ 1

Вполне возможно, что есть способ заставить ваш plugins работать. Учитывая вашу ошибку, я начну с того, что будет использовать проект ButterKnife, заработайте это, а затем посмотрите, есть ли рецепт того, что вы пытаетесь.

Сначала в файле верхнего уровня build.gradle включите classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' в buildscript dependencies, например:

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

Затем в ваш модуль build.gradle файл включите apply plugin: 'com.neenbedankt.android-apt' в начало.

Ссылки относятся к соответствующим файлам из репозитория ButterKnife GitHub, из проекта и специального примера приложения.

Ответ 3

Вместо:

    plugins {id "net.ltgt.apt" version "0.6"}

попробовать:

    apply plugin: 'android-apt'

Ответ 4

В моем случае помогло: добавив к вашему build.gradle (не основной, а проект один):

apply plugin: 'com.neenbedankt.android-apt'

и

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.0'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.7'
    }
}

Ответ 5

Добавьте свой apt-код в приложение build.gradle НЕ в main build.gradle.

dependencies {
    apt group: 'group name here', name: 'artifact name here', version:'version here'
}

Конечно, вам придется добавить следующий код в свой основной файл build.gradle

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.2'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
    }
}