본문 바로가기

Android

error: [Hilt] Expected @AndroidEntryPoint to have a value. Did you forget to apply the Gradle Plugin?

반응형
error: [Hilt]
public final class HiltTestActivity extends androidx.appcompat.app.AppCompatActivity {
             ^
  Expected @AndroidEntryPoint to have a value. Did you forget to apply the Gradle Plugin? (dagger.hilt.android.plugin)
  See https://dagger.dev/hilt/gradle-setup.html
  [Hilt] Processing did not complete. See error above for details.

Dagger Hilt를 포함한 뒤 테스트 코드를 작성하다 다음과 같은 에러를 마주쳤습니다. 이전까지는 문제 없이 사용하고 있었기 때문에 당연히 @AndroidEntryPoint는 적용된 상황입니다.

@AndroidEntryPoint
class HiltTestActivity : AppCompatActivity()

다행히 에러 메시지에 나와있는 링크에서 답을 찾을 수 있었습니다.
https://dagger.dev/hilt/gradle-setup.html

 

Gradle Build Setup

Hilt dependencies To use Hilt, add the following build dependencies to the Android Gradle module’s build.gradle file: dependencies { implementation 'com.google.dagger:hilt-android:2.38.1' annotationProcessor 'com.google.dagger:hilt-compiler:2.38.1' // Fo

dagger.dev

다른 프로세서 인수 적용

Hilt Gradle 플러그인은 annotation processor arguments를 설정합니다. 사용 중인 다른 라이브러리가 annotation processor arguments를 설정하는 경우, arguments를 재정의(=)하는 대신 추가(+=)하고 있는지 확인하십시오.

다음은 +=를 사용하여 Hilt arguments 재정의를 방지하는 예시입니다.

javaCompileOptions {
  annotationProcessorOptions {
    arguments += ["foo" : "bar"]
  }
}

+가 누락되고 arguments가 재정의되면 Hilt가 다음과 같은 오류를 표시하며 컴파일에 실패합니다:

Expected `@HiltAndroidApp` to have a value. Did you forget to apply the Gradle Plugin?

제 경우엔 room 라이브러리의 schema location을 정의하다 생긴 문제였습니다. 모두 문제 해결하셨길 바라며 즐거운 작업하시길 바랍니다~~

반응형