[Android] Hilt @InstallIn

kk_jang93·2024년 7월 31일
0

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 검사를 비활성화 시킬 수 있다.

profile
앱개발을 사랑하는 개발자

0개의 댓글