[Kotlin 오류] unknown kotlin jvm target: 20 원인과 해결법

Android Studio로 새로운 프로젝트를 빌드하던 중

unknown kotlin jvm target: 20 이란 오류가 발생하였다.

오류의 원인은 

Gradle과 Kotlin이 아직 해당 버전의 JDK를 지원하지 않기 때문에 발생합니다.

즉, JDK 20은 현재 Gradle 8.1과 Kotlin 1.8.20에 대해 너무 새로운 버전입니다.

라고 하는데.. 결국 JDK20이 너무 상위 버전이라 생긴 문제였다.

Kotlin 버전 1.9.0-Beta버전에서는 해결 되었다고 하는데

2023년 7월에 정식 릴리즈가 된다하니 현재로서는 해결방안이 될 수 없다.

 

결론적으로 jvmTarget버전과 compile 버전을 낮추는 것이 해결방법이다.

방법은 다음과 같다.

 

build.gradle(Module :app)파일에 들어가 다음을 수정해준다.

 

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
    jvmTarget = '1.8'
}

compileOptions {
    sourceCompatibility JavaVersion.VERSION_17
    targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
    jvmTarget = '17'
}

 

그 후 File -> Project Structure -> SDK Location -> Gradle Setting으로 들어간다.

Gradle JDK 부분을 아까 설정한 17버전에 맞춰 선택한다.

이후 다시 빌드하면 정상적으로 빌드되는 것을 볼 수 있다.