LoginSignup
0

More than 3 years have passed since last update.

【Android / Kotlin】プロジェクトでアノテーション(@)を使えるようにする

Last updated at Posted at 2021-01-23

はじめに

Kotlin でデータバインディングを使うために、kapt の導入が必要であることを知った。
具体的に言うと自分の場合は
@get:Bindable ~と言う記述をしてもBRクラスに監視変数が生成されずにつまずきました。調べた結果 kapt の導入に行き着きました。

なぜ必要なのか

kapt とは kotlin-annotation-processing-tools の略であり、Kotlin プロジェクトでもアノテーション(@)を使い自動コード生成ができるようにするもの。
つまり、Dagger や DataBinding などを利用する際に導入が必要となるようである。

環境

  • Android Studio: 4.1.1
  • Build #AI-201.8743.12.41.6953283, built on November 5, 2020
  • Runtime version: 1.8.0_242-release-1644-b3-6915495 x86_64
  • VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
  • macOS: 10.15.7

導入

私の場合はこの1行追加するだけで使用できました。

app/build.gradle
// 一部抜粋
plugins {
    id 'com.android.application'
    id 'kotlin-android'
    id 'kotlin-kapt' // ←ここに追加
}

上記ではなく、こちらの1行の追加でも大丈夫なはず

app/build.gradle

apply plugin: 'kotlin-kapt'

これで無事BRクラスに監視変数が作成されました!!

最後に

Java ではこのような記述が必要ではないため、Kotlin の場合でも DataBinding の導入では以下の記述だけ追加すれば良いと考えておりました。

app/build.gradle
dataBinding {
    enabled = true
}

// もしくは
buildFeatures {
    dataBinding = true
}

解決までに数時間費やしてしまい、今回また勉強になりました。

参考リンク

ありがとうございます!
参考にさせていただきました!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0