Android Studio 3.0警告:使用不兼容的插件进行注释处理

时间:2017-11-16 12:01:41

标签: android android-studio gradle warnings

将Android Studio更新为3.0版本后,我发出警告:

Error:android-apt plugin is incompatible with the Android Gradle plugin.  Please use 'annotationProcessor' configuration instead.

我试图重写我的gradle源代码,但我仍然有一个警告。 这是一个来源

buildscript {
repositories {
    google()
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.0.0'
    classpath 'io.realm:realm-gradle-plugin:0.89.+'
}
}
allprojects {
repositories {
    google()
    jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}




apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
    applicationId "com.syncapp"
    minSdkVersion 21
    targetSdkVersion 26
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

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

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.11'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
implementation 'com.android.support:support-v4:27.0.1'
implementation 'com.android.support:appcompat-v7:27.0.1'
implementation 'com.android.support:design:27.0.1'
compile 'org.greenrobot:eventbus:3.1.1'
compile 'com.google.code.gson:gson:2.6.2'
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'

compile 'com.squareup.okhttp:okhttp:2.7.5'
compile 'com.squareup.okhttp:mockwebserver:2.7.5'

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

compile 'com.google.dagger:dagger:2.4'
annotationProcessor 'com.google.dagger:dagger-compiler:2.4'


}
apply plugin: 'realm-android'

正如您所看到的,在我的项目中,我使用的是butterknife,dagger,okhttp,retrofit2和eventbus支持库

任何解决方案?我无法运行我的应用程序 感谢

2 个答案:

答案 0 :(得分:2)

apt文件中删除build.gradle插件。无论您使用apt依赖于何处,都将其替换为annotationProcessor。此外,还会将realm依赖关系版本更新为4.1.1

答案 1 :(得分:0)

你看过这个link了吗?

基本上:

  

如果您在迁移到新的依赖项解析>策略时遇到问题,可以通过设置> includeCompileClasspath true将行为恢复为Android插件2.3.0的行为。

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

然后您可以选择删除Apt插件以使项目更清洁但是根据官方文档认为不应该影响

  

android-apt插件用户:此行为更改目前不会影响> android-apt插件。但是,该插件将与Gradle的Android插件的未来>版本不兼容   此外,当yuo迁移到Android Studio 3.0时,您不应该使用编译,而是为每个依赖项使用实现

你应该做的是尝试升级或降级你使用Dagger或Butterknife的注释处理器依赖,如果不起作用尝试删除Butterknife(但我不确定如果Dagger一个就足够了,无论如何你不应该这样做。

相关问题