エラー: Epoxy Processor Exception: Caused by TypeCastException: null cannot be cast to non-null type javax.lang.model.element.TypeElement Stacktrace: com.airbnb.epoxy.DataBindingModelInfo.<init>(DataBindingModelInfo.kt:25) com.airbnb.epoxy.DataBindingModelInfo.<init>(DataBindingModelInfo.kt:14) com.airbnb.epoxy.DataBindingProcessor.process(DataBindingProcessor.kt:33) com.airbnb.epoxy.EpoxyProcessor.processRound(EpoxyProcessor.java:189) com.airbnb.epoxy.EpoxyProcessor.process(EpoxyProcessor.java:165)
こういうエラーが出る。このあたりでエラーになってる。
EPOXY_DATA_BINDING_MODEL
を見るとDataBindingEpoxyModelというクラスのTypeElementを取ろうとしてるメソッドがnullを返してるらしい。
DataBindingEpoxyModelはどこにあるのか調べたら、epoxy-databinding以下にある。アレ!実はepoxyを指定するだけではダメなのでは?!と思って調べたらそうだった。
Data Binding Support · airbnb/epoxy Wiki · GitHub
def epoxy_version = "2.7.3" compile "com.airbnb.android:epoxy:${epoxy_version}" compile "com.airbnb.android:epoxy-databinding:${epoxy_version}" annotationProcessor "com.airbnb.android:epoxy-processor:${epoxy_version}"
これで動いた。