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のコードを利用可能にするモノらしい。

qiita.com

android.databinding:compilerとは?

以下リンクを見ると、コンパイル時にLayout xmlからBindingのコードを吐き出すものらしい。

sys1yagi.hatenablog.com

つまり?

kapt 'com.android.databinding:compiler とは

DataBindingが定義されたLayout XMLコンパイル時に生成されるコードを、Kotlinで利用可能にするモノのようだ