Android Build Error ) 'compileDebugJavaWithJavac' task (current target is 11)

승환·2024년 1월 30일
0

React-Native_Issue

목록 보기
6/8

참조 : 오류 수정 방법 : Caused by: org.gradle.api.GradleException: 'compileDebugJavaWithJavac' task (current target is 17) and 'compileDebugKotlin' task (current target is 1.8) jvm target compatibility should be set to the same Java version.

에러 원인

현재 Kotlin 버전과, Kotlin Compile 시 JVM 타겟 버전 설정이 달라서 생기는 문제이다.

Caused by: org.gradle.api.GradleException: 'compileDebugJavaWithJavac' task (current target is) and 'compileDebugKotlin' task (current target is) jvm target compatibility should be set to the same Java version.

에러 해결 방법

app 수준의 build.gradle.kts 파일 혹은 build.gradle 파일에 다음과 같이 적혀있을텐데

android{
	...
	kotlinOptions {
		jvmTarget = "[JVM 타겟 버전]"
	}
}

이 부분을 위에서 말하는 Kotlin 타겟 버전 으로 변경하면된다.
현재 버전이 17이면 jvmTarget을 17로 변경하면 된다.

JDK 1.10버전 이상부터는 1. 을 붙이지 않고 서브버전명을 그대로 쓴다. 즉, 17이라고 쓰면 된다.

android {
	...
	kotlinOptions {
		jvmTarget = "17"
	}
}

이렇게 하면 빌드가 성공한다.

위의 상황과 별개의 상황도 고려해야 한다.

Case

  • adb 및 가상 Emulator를 확인(아예 비활성화 및 못읽어 올 경우 build 자체가 안됨)
  • targetKotlin 버전을 명시화 한다. reactnative의 경우는 알아서 되는것 같지만…혹시나 충돌이 날경우는 해결해주어야 함
  • 서드파티 라이브러리를 설치했을 경우 충돌이 날 수 있으니 어디에서 에러가 나는지 체크 해주어야함 (필자의 경우는 reanimated가 v2→v3로 넘어가는 과정에서 충돌이 난 경우가 있음)
profile
반갑습니다~

0개의 댓글