개발/Android Studio 에러

에러: Inconsistent JVM-target compatibility detected for tasks 'compileJava' (1.8) and 'compileKotlin' (17).

스몰스테핑 2024. 8. 12. 16:11

 

https://small-stepping.tistory.com/1133

 

클린 아키텍처의 기본 개념 (2)

클린 아키텍처의 개요1. 경계(boundary) 만들기저수준 모듈: 상세한 기능 구현, 변경이 잦을만한 요소들의 집합 (예: 문자열 암호화 이후, 로컬 및 원격 DB에 저장) 고수준 모듈: 핵심적인 비즈니스

small-stepping.tistory.com

 

클린 아키텍처 글 하단의 모듈 분리를 한 후 코드를 작성해 나가다 발생한 오류이다.

 

https://stackoverflow.com/questions/69079963/how-to-set-compilejava-task-11-and-compilekotlin-task-1-8-jvm-target-com?rq=1

 

How to set compileJava' task ( 11) and 'compileKotlin' task (1.8) jvm target compatibility to the same Java version in build.gra

Build.gradle.kts buildscript { repositories { google() mavenCentral() gradlePluginPortal() } dependencies { classpath ("com.android.tools.build:grad...

stackoverflow.com

 

현재 Gradle에서는 1.8을 사용하고 있으나, Android Studio IDE에서는 17을 사용하기 때문에 발생한 오류.

stackoverflow 답변와 오류에서 말하는 대로 gradle의 compileOption, kotlinOption의 버전을 맞춰주면 된다.

 

 

위 gradle 들에 있는 모든 다음과 같은 코드를 확인하자.

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"
    }

 

 

 

이후 정상적으로 빌드되고 앱이 실행되는 모습을 확인할 수 있다.