由于 android-apt 插件,Android Studio 3.0 上的 Butterknife gradle 错误

Butterknife gradle error on Android Studio 3.0 due to android-apt plugin

升级到 Android Studio 3.0 后,我遇到了 gradle 的一些问题,我能够修复对开发人员的检查 website

但是,我无法找到解决 apply plugin: 'android-apt' 问题的方法 我尝试了几种方法,例如将其从项目中删除 gradle 并将其添加到应用程序 gradle 作为 annotationProcessor 'com.neenbedankt.gradle.plugins:android-apt:1.8' 。还删除了 apt 等

无论如何,Studio 正在抱怨它。任何帮助是极大的赞赏。谢谢!

    // Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
        classpath 'com.google.gms:google-services:3.1.1'

    }
}

allprojects {
    repositories {
        jcenter()
        google()
        maven { url "https://jitpack.io" }
    }

    ext {
        supportLibVersion = '27.0.0'
        firebaseLibVersion = '11.4.2'
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

APPGRADLE

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    buildToolsVersion "27.0.0"
    defaultConfig {
        applicationId "xxxxxxxxxxxxxxxxxxxx"
        minSdkVersion 17
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"

        vectorDrawables.useSupportLibrary = true

    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    apply plugin: 'android-apt'
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')

    compile "com.android.support:appcompat-v7:${supportLibVersion}"
.....

    compile 'com.google.android.gms:play-services-auth:11.4.2'

    compile 'com.jakewharton:butterknife:8.4.0'
    apt 'com.jakewharton:butterknife-compiler:8.4.0'

}
apply plugin: 'com.google.gms.google-services'

不要使用apt插件,像这样添加依赖:

compile "com.jakewharton:butterknife:8.8.1"
annotationProcessor "com.jakewharton:butterknife-compiler:8.8.1"

Reference

如果你赶时间,你可以禁用那个东西。

根据文档

If you are experiencing issues migrating to the new dependency resolution strategy, you can restore behavior to that of Android plugin 2.3.0 by setting includeCompileClasspath true. However, restoring behavior to version 2.3.0 is not recommended.

android {
    ...
    defaultConfig {
        ...
        javaCompileOptions {
            annotationProcessorOptions {
                includeCompileClasspath false
            }
        }
    }
}

还有一件事你必须在 gradle 文件的 buildTypes 标签中定义 flavorDimensions "default" 属性。

您可以查看更多相关信息 here