Hilt를 사용할 경우 모듈 클래스에 반드시 @InstallIn을 추가해야 한다. 그렇지 않으면 컴파일 타임에 오류가 발생한다.

하지만 Dagger2에서 Hilt로 마이그레이션을 하거나 특별한 사유가 있는 경우 모든 모듈 클래스에 @InstallIn을 추가하기 어려운 경우가 있다. 이때 다음 예제코드 처럼, 해당 모듈의 그레이들 스크립트에 disableModulesHaveInstallInCheck 옵션을 추가 할 수 있다.

// build.gradle.kts
android {
    ...
    defaultConfig {
    ...                  
    javaCompileOptions.annotationProcessorOptions.arguments["dagger.hilt.disableModulesHaveInstallInCheck"] = "true"
    }
}

gradle 명령어를 사용하여 컴파일(빌드)하는 경우에는 다음과 같이 플래그를 추가 할 수 있다.

-Adagger.hilt.disableModulesHaveInstallInCheck=true.

또는 개별적으로 모듈 클래스에 @DisableInstallInCheck 를 추가하여 @InstallIn 검사를 비활성화 시킬 수 있다.
카테고리: Dagger2

0개의 댓글

답글 남기기

Avatar placeholder

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.