Android/Kotlin

[Android] Inheritance from an interface with '@JvmDefault' members is only allowed with -Xjvm-default option 해결 방법

elisom 2022. 3. 4. (Last updated:

 

문제 상황

늘 하던 방식대로 ViewModelFactory를 구현했는데 빨간 줄이 뜬다.

Inheritance from an interface with '@JvmDefault' members is only allowed with -Xjvm-default option

 

해결 방법

 

이 문제는 LifeCycle 2.5.0.alpha01 과 같은 라이브러리의 문제로 보여진다.

 

1. 회피하는 방법

사용하는 LifeCycle 라이브러리의 버전을 변경한다.

 

2. 해당 옵션 변경하여 컴파일하는 방법

build.gradle 파일에 아래의 코드를 추가하여 -Xjvm-default 옵션을 all로 변경한다.

tasks.withType(KotlinCompile).configureEach {
    kotlinOptions {
        freeCompilerArgs += [
                "-Xjvm-default=all",
        ]
    }
}

 

참고:

https://stackoverflow.com/a/70993001

 

How do I resolve error message: "Inheritance from an interface with '@JvmDefault' members is only allowed with -Xjvm-default opt

I'm new to Android development and I'm currently building my first real app. I'm trying to implement a MVVM architecture and because of that I'm having a viewModel for each fragment and each viewMo...

stackoverflow.com