Android Studio 3.1.1でSyncエラー Data Binding annotation processor version needs to match the Android Gradle Plugin version. You can remove the kapt dependency com.android.databinding:compiler:3.1.0 and Android Gradle Plugin will inject the right version.
タイトルが長すぎるけど気にしない。
Android Studio 3.1.1にアプデしたらSyncエラーが出た。
Data Binding annotation processor version needs to match the Android Gradle Plugin version. You can remove the kapt dependency com.android.databinding:compiler:3.1.0 and Android Gradle Plugin will inject the right version.
日本語訳
データバインディングアノテーションプロセッサのバージョンは、Android Gradle Pluginのバージョンと一致する必要があります。 あなたはkapt依存関係com.android.databinding:compiler:3.1.0を削除することができ、Android Gradle Pluginは適切なバージョンを注入します。
修正方法
メッセージ内容を読むと分かる通り、
以下のapp/build.gradeにあるandroid.databinding:compilerのバージョンをAndroid Gradle PluginのGradleバージョンと合わせれば直る。
Android Gradle PluginのGradleバージョン
dependencies { classpath 'com.android.tools.build:gradle:3.1.1'
3.1.1だね
app/build.gradeにあるandroid.databinding:compiler
kapt 'com.android.databinding:compiler:3.1.0' <- 古い!!
3.1.0かー、ちょっと古いね
こいつを3.1.1にあげよう
kapt 'com.android.databinding:compiler:3.1.1'
これでSyncもビルドも通った。
でも今までkaptもandroid.databinding:compilerもなんとなく使ってきたので、こいつらは一体なんなのか軽く調べた。
kaptとは?
KotlinからJavaのコードを利用可能にするモノらしい。
android.databinding:compilerとは?
以下リンクを見ると、コンパイル時にLayout xmlからBindingのコードを吐き出すものらしい。
つまり?
kapt 'com.android.databinding:compiler とは
DataBindingが定義されたLayout XMLをコンパイル時に生成されるコードを、Kotlinで利用可能にするモノのようだ