Android Studioを2.3バージョンに更新すると、警告が表示されます。
警告:注釈処理に互換性のないプラグインを使用しています:Android-apt。これにより、予期しない動作が発生する場合があります。
解決策はありますか?アプリが機能しなくなった...
アプリレベルのgradle依存関係には(butterknife Webサイトの指示に従って)を含める必要があります。
compile 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
次の行を削除できます。
apply plugin: 'com.neenbedankt.Android-apt'
注釈処理はAndroid Gradleプラグイン(2.2以降)で使用可能になったため、このバージョンのgradle以上を使用する場合、上記のプラグインを使用する必要はなくなりました。
注釈処理をオフおよびオンにしてASが設定されている方法を知りたい場合:
[設定]> [ビルド、実行、展開]> [コンパイラ]> [注釈プロセッサ]
私のプロジェクトでは、特にバターナイフとイミュータブルを使用しています。 Immutablesを追加した後、次の警告が表示されました
警告:注釈処理に互換性のないプラグインを使用しています:Android-apt。これにより、予期しない動作が発生する場合があります。
butterKnifeは動作を停止しました。
私の構成は次のとおりです。
build.gradle(プロジェクト:MyApplication)
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.Android.tools.build:gradle:2.3.1'
classpath 'com.neenbedankt.gradle.plugins:Android-apt:1.8'
}
}
build.gradle(モジュール:アプリ)
apply plugin: 'com.Android.application'
apply plugin: 'Android-apt'
...
dependencies {
...
// Butter Knife
compile 'com.jakewharton:butterknife:8.5.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
// Immutables
apt 'org.immutables:value:2.4.4'
provided 'org.immutables:value:2.4.4'
provided 'org.immutables:builder:2.4.4'
provided 'org.immutables:gson:2.4.4'
}
変更後
annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
に
apt 'com.jakewharton:butterknife-compiler:8.5.1'
警告が消え、すべてが正常に機能します。
UPDATE
Markが言ったように、Gradleバージョン2.2には注釈プロセッサが含まれていたので、追加のプロセッサを提供する理由はありません。
そう:
1)build.gradle(プロジェクト:MyApplication)からaptのクラスパスを削除します
classpath 'com.neenbedankt.gradle.plugins:Android-apt:1.8'
2)プラグインをbuild.gradle(Module:app)から削除します
apply plugin: 'Android-apt'
3)依存関係をaptから新しいannotationProcessorに変更します
annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
annotationProcessor 'org.immutables:value:2.4.4'
@Milanの答えに追加するには、アプリレベルのgradleファイルでhotchemi permissiondispatcherライブラリを使用した場合、次のように置き換える必要があります。
交換
apt 'com.github.hotchemi:permissionsdispatcher-processor:2.4.0'
と
annotationProcessor 'com.github.hotchemi:permissionsdispatcher-processor:2.4.0'
Project Gradle buildscript --> dependencies
ブロックで、2番目のclasspath
行を削除します。
dependencies {
classpath 'com.Android.tools.build:gradle:3.2.1'
// classpath 'com.neenbedankt.gradle.plugins:Android-apt:1.8'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
そしてアプリのGradle dependencies
ブロックで、これらの行を変更し、api
とannotationProcessor
を使用します:
api 'com.google.dagger:dagger:2.19'
annotationProcessor 'com.google.dagger:dagger-compiler:2.19'
また、これを削除します:
//apply plugin: 'com.neenbedankt.Android-apt'