Android Compose 앱에서 발생한 오류: java.lang.NoSuchMethodError

2025. 5. 12. 14:34Android/UI-UX 디자인

728x90
반응형

1. 오류 내용

앱 실행 시 다음과 같은 치명적인 런타임 오류가 발생:

java.lang.NoSuchMethodError: No static method setContent$default(...)V in class Landroidx/activity/compose/ComponentActivityKt;

1-1. 발생 환경

  • Kotlin 2.0.21
  • Compose Compiler 1.5.13
  • org.jetbrains.kotlin.plugin.compose 플러그인 사용
  • 단일 모듈 구조 (멀티모듈 아님)

2. 원인

  • build.gradle.kts (app 모듈)에서 아래 설정 누락:
buildFeatures {
    compose = true
}
  • 해당 설정이 없으면 Compose 관련 코드가 컴파일조차 되지 않음.
  • 그로 인해 런타임 시 필요한 setContent() 메서드가 없다는 NoSuchMethodError 발생.

3. 해결 방법

android {} 블록에 아래 코드를 추가한다:

android {
    ...
    buildFeatures {
        compose = true
    }
}

4. 참고 사항

  • Kotlin 2.0 이상에서는 kotlin-plugin-compose 플러그인을 app 모듈에 직접 적용해야 한다.
  • apply false만 설정해놓고 적용하지 않으면 여전히 문제가 발생한다:
plugins {
    alias(libs.plugins.kotlin.compose) // 반드시 app 모듈에 직접 적용!
}

 

 

 

 

 

728x90
반응형