将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支持库
任何解决方案?我无法运行我的应用程序 感谢
答案 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一个就足够了,无论如何你不应该这样做。