概要
Android Studioを2.3にGradle Pluginを2.3.0に上げたところ、以下のようなエラーが発生しました。
Unresolved reference: DaggerAppComponent
Unresolved reference: databinding
現象が発生した際の環境
Kotlin
- compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.0"
DataBinding関連
- kapt 'com.android.databinding:compiler:2.2.3'
Dagger関連
- compile "com.google.dagger2.8"
- kapt "com.google.dagger:dagger-compiler:2.8"
解決方法
kotlinのAndroidプロジェクトの場合
各種ライブラリのバージョンを上げることで解決しました。
-
com.android.databinding:compiler
は2.3.0
を指定 -
com.google.dagger:dagger
およびcom.google.dagger:dagger-compiler
は2.9
を指定
通常のAndroidプロジェクトの場合
@teradonburiさんの記事で知りましたが、android-aptがgradle plugin2.3.0以降ではdeprecatedとなっており、apt
をannotationProcessor
に書き直す必要があります。コメントありがとうございました
また、android-aptのMigrationページのissuesの項目には以下のように書かれていますので、問題が解決するまでandroid-aptを引き続き使用しても良いかもしれません。
if you encounter an issue after migrating it might be a bug in the Android Gradle plugin. Please report these bugs in in the Android bug tracker. You can still revert to android-apt if you are not using Jack in the mean time.