找不到Gradle DSL方法:'apt()'

mFe*_*ein 45 android gradle butterknife

我正在尝试添加最新版本的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'
    }
    
    Run Code Online (Sandbox Code Playgroud)

    gradle-apt-plugin有什么问题?

    Com*_*are 102

    完全可能有办法让你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'
        }
      }
    
    Run Code Online (Sandbox Code Playgroud)

    然后,在您的模块build.gradle文件中,包括apply plugin: 'com.neenbedankt.android-apt'顶部.

    链接是来自ButterKnife GitHub仓库的相关文件,来自项目和专用示例应用程序.

    • 谢谢您的帮助!该项目的页面(http://jakewharton.github.io/butterknife/)缺少这些配置.....但github页面没有(https://github.com/JakeWharton/butterknife),他们几乎是和你的代码一样. (4认同)
    • 从ButterKnife 7.0.1到8.0.1 - 升级并不明显.所有这些额外的Gradle条目都没有得到很好的解释.最后,感谢您的建议,@ CommonsWare! (2认同)

    小智 19

    apt已过时,更改为新格式:

    更改

    apt 'com.jakewharton:butterknife-compiler:8.5.1'
    
    Run Code Online (Sandbox Code Playgroud)

    annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
    
    Run Code Online (Sandbox Code Playgroud)

    https://bitbucket.org/hvisser/android-apt/wiki/Migration

    http://jakewharton.github.io/butterknife/


    Vla*_*kyi 5

    代替:

        plugins {id "net.ltgt.apt" version "0.6"}
    
    Run Code Online (Sandbox Code Playgroud)

    尝试:

        apply plugin: 'android-apt'
    
    Run Code Online (Sandbox Code Playgroud)