-
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
https://kotlinlang.org/docs/java-to-kotlin-interop.html#default-methods-in-interfaces
https://kotlinlang.org/docs/whatsnew15.html#deprecation-of-jvmdefault-and-old-xjvm-default-modes
https://whyprogrammer.tistory.com/627
반응형'Android > Error' 카테고리의 다른 글