-
[Android] Dagger2 Component Generate 되지 않을 때 with Kotlin프로그래밍/Android 2022. 4. 24. 11:48
Dagger 라이브러리를 공부하고 있는데 Component를 정의한 후에 DaggerComponent를 사용하려고 하면 클래스를 못찾는 경우가 왕왕 있었다. 정말 스트레스였는데 나름대로 해결방법을 찾았다.
1. Gradle 업데이트
apply plugin: 'kotlin-kapt' dependencies { implementation 'com.google.dagger:dagger:2.x' kapt 'com.google.dagger:dagger-compiler:2.x' }
안드로이드 공식문서에 가보면 위와 같이 나와있지만 위와 같은 방법으로 해도 제대로 적용이 되지 않는다. Dagger github에 접속해보면 업데이트된 gradle이 적혀있다.
implementation 'com.google.dagger:dagger:2.41' kapt 'com.google.dagger:dagger-compiler:2.41' implementation 'com.google.dagger:dagger-android:2.41' implementation 'com.google.dagger:dagger-android-support:2.41' // if you use the support libraries kapt 'com.google.dagger:dagger-android-processor:2.41'
현재(22.04.24) 최신버전은 2.41이고 dagger와 compiler 이외에 dagger android와 support 라이브러리가 추가로 필요하다. 이렇게 해주어야 제대로 컴포넌트가 생성된다. 만약 이렇게 했는데도 문제가 발생한다면 build - clean build 실행한 뒤에 file - invalidate caches를 사용하여 프로젝트를 다시 설정하면 문제가 해결될 수 있다.
'프로그래밍 > Android' 카테고리의 다른 글
[Android] Dagger (Module, Provides, Component, Inject) 간단 용어 설명 (0) 2022.04.25 [Android] Dagger2 Multi binding 멀티바인딩(Set, Map) (0) 2022.04.24 [Android] Dagger Binding의 종류 (0) 2022.04.24 [Android]Dagger Singleton과 Reusable 차이 (0) 2022.04.24 [Android] SOLID 설계 원칙 (0) 2022.04.19