2.2から2.3にアップグレードした後、この警告が表示されます
プロジェクトをコンパイルしようとすると、このコンパイルエラーが表示されます。
どのようにして以前のGradleバージョンにダウングレードせずにこの問題を解決することができますか?この問題を解決できるAndroid-aptのアップデートはありますか?
Android-apt
プラグインは推奨されなくなりました。
移行ガイド については、こちらをご覧ください。
Android Gradleプラグインバージョン2.2以降、以前にAndroid-aptによって提供されていたすべての機能がAndroidプラグインで使用可能になりました。
同等の機能を得るために移行ガイドに従うことによってAndroid-apt
を削除することができます。
移行ガイドの重要な部分:
- Android Gradle 2.2プラグイン以降を使用していることを確認してください。
- ビルドスクリプトから
Android-apt
プラグインを削除します。- すべての
apt
、androidTestApt
、およびtestApt
の依存関係を新しい形式に変更します。
dependencies {
compile 'com.google.dagger:dagger:2.0'
annotationProcessor 'com.google.dagger:dagger-compiler:2.0'
}
また、Android Gradleプラグインには、これに対する明示的なチェックがあります。
注釈処理に互換性のないプラグインを使用するAndroid-apt
将来のAndroid GradleプラグインのバージョンはAndroid-apt
の動作方法と互換性がなくなり、これがそのチェックの理由です。
私にとっては、ContentfulのVault
ライブラリを使用しているときにこのエラーが発生していました。
apply plugin: 'com.neenbedankt.Android-apt'
そして
compile 'com.contentful.vault:core:2.1.0'
apt 'com.contentful.vault:compiler:2.1.0'
あなたがする必要があるのはDELETEapply plugin: 'com.neenbedankt.Android-apt'
です
そしてCHANGE:
compile 'com.contentful.vault:core:2.1.0'
apt 'com.contentful.vault:compiler:2.1.0'
に
annotationProcessor 'com.contentful.vault:compiler:2.1.0'
annotationProcessor 'com.contentful.vault:core:3.0.1'
最新バージョンについては、常に https://github.com/contentful/vault を確認してください。
Aptプラグインを削除
変化する:
apt - > compile
testApt - > testAnnotationProcessor
androidTestApt - > androidTestAnnotationProcessor
Build.gradle(アプリ)で、defaultConfigに追加します。
vectorDrawables.useSupportLibrary = true
彼の答えはかなり注目されているのでここで@Gabriele Mariottiに便乗してこれを暗示するがそれを述べていない。 Gradleは、これも有効なオプションとして推奨していません。 androidTestApt
とtestApt
と同等のテストはandroidTestAnnotationProcessor
とtestAnnotationProcessor
です。
例:
testApt "com.google.dagger:dagger-compiler:$daggerVersion"
androidTestApt "com.google.dagger:dagger-compiler:$daggerVersion"
に変更する必要があります
testAnnotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion"
androidTestAnnotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion"
注釈プロセッサに引数がある場合は、これを変更する必要があります。
apt {
arguments {
KEY "VALUE"
}
}
これに:
Android {
...
defaultConfig {
...
javaCompileOptions {
annotationProcessorOptions {
arguments = ['KEY': 'VALUE']
}
}
}
}