-
Inheritance from an interface with '@JvmDefault' members is only allowed with -Xjvm-default optionAndroid/Error 2022. 8. 17. 11:28반응형
Inheritance from an interface with '@JvmDefault' members is only allowed with -Xjvm-default option
gradle 빌드시 해당에러가 발생하는 경우가 있습니다.
해당에러가 발생하는 이유는 @JvmDefault 해당 어노테이션이 Deprecated 되면서 kotlin의 interface 의 defalut method가 생성되지 않아서 컴파일시 문제가 발생하는 현상이 었습니다.
해결방법은 -Xjvm-default 옵션을 사용하는 해결하는것 입니다.
build.gradle 의 kotlinOptions 에 freeCompilerArgs = ['-Xjvm-default=enable'] 옵션을 추가하면 정상적으로 컴파일 되는것을 확인 할 수 있습니다.
...... android { ... kotlinOptions { freeCompilerArgs = ['-Xjvm-default=enable'] jvmTarget = '11' } ... } ......
[참고링크]
https://kotlinlang.org/docs/java-to-kotlin-interop.html#compatibility-modes-for-default-methods
Calling Kotlin from Java | Kotlin
kotlinlang.org
https://kotlinlang.org/docs/java-to-kotlin-interop.html#default-methods-in-interfaces
Calling Kotlin from Java | Kotlin
kotlinlang.org
Kotlin 1.4-M3: Generating Default Methods in Interfaces | The Kotlin Blog
In Kotlin 1.4, we’re adding new experimental ways for generating default methods in interfaces in the bytecode for the Java 8 target. Later, we’re going to be deprecating the @JvmDefault annotation in
blog.jetbrains.com
https://kotlinlang.org/docs/whatsnew15.html#deprecation-of-jvmdefault-and-old-xjvm-default-modes
What's new in Kotlin 1.5.0 | Kotlin
kotlinlang.org
Android @JvmDefault -Xjvm-default option error
사용 언어: Kotlin 1.6.10 사용 버전: Android Studio 2021.01.01 안드로이드 @JvmDefault -Xjvm-def...
blog.naver.com
https://whyprogrammer.tistory.com/627
[Kotlin] 코틀린 인터페이스의 Default implementation 과 JAVA
1. 코틀린 인터페이스의 Default implementation 과 JAVA 코틀린의 인터페이스는 추상 메서드 뿐만이 아니라 구현이 있는 메서드 즉, Default 메서드를 정의할 수 있다. (하지만 필드(상태)는 불가능하
whyprogrammer.tistory.com
Kotlin의 클래스, 객체, 그리고 인터페이스 한 번에 알아보기
Kotlin in Action Chapter 4 정리
jypthemiracle.medium.com
반응형'Android > Error' 카테고리의 다른 글