애러 개요
여러 프로젝트를 다루다 보니, 앱을 빌드할 때 아래와 같은 오류가 나는 경우가 생겼다.
BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 64

문제 원인
현재 Gradle 버전과 Java Version이 일치하지 않을 때 오류가 발생한다.
나의 경우 JDK 버전을 20으로 쓰고 Gradle 버전을 8.0으로 써서 문제가 생겼다.
JDK 버전 확인 방법
1. 프로젝트에 설정된 JDK 버전을 확인하기 위해 다음 메뉴에 진입한다. Android Studio > Preferences...

2. Build, Execution, Deployment > Build Tools > Gradle에 진입하면 오른쪽 아래에서 Gradle JDK를 통해 현재 설정된 JDK 버전 확인이 가능하다.

여기서 보면 Gradle을 프로젝트 내부의 gradle-wrapper.properties 파일에서 가져온다고 되어 있으므로 아래와 같이 Gradle 버전을 확인할 수 있다.
Gradle 버전 확인 방법
1. 프로젝트에 설정된 JDK 버전은 [프로젝트 폴더]/gradle/wrapper/gradle-wrapper.properties에서 확인 가능하다.

2. gradle-wrapper.properties 파일을 보면 아래와 같이 설정되어 있는데, 여기서 distributionUrl 에서 [Gradle 버전] 확인이 가능하다.
distributionUrl=https\://services.gradle.org/distributions/gradle-[Gradle 버전]-bin.zip

해결방법
이에 대한 호환성 표는 아래와 같다. 현재 내가 쓰고 있는 것은 JDK20 버전으므로 Gradle 버전을 8.1로 설정하는 것이 필요하다.
Java version | First Gradle version to support it |
8 | 2.0 |
9 | 4.3 |
10 | 4.7 |
11 | 5.0 |
12 | 5.4 |
13 | 6.0 |
14 | 6.3 |
15 | 6.7 |
16 | 7.0 |
17 | 7.3 |
18 | 7.5 |
19 | 7.6 |
20 | 8.1 |
따라서 gradle 8.0이 지원되는 JDK인 JDK17로 JDK를 변경하면 빌드가 성공하는 것을 볼 수 있다.

Reference
Compatibility Matrix
Gradle is tested with Android Gradle Plugin 7.3, 7.4 and 8.0. Alpha and beta versions may or may not work.
docs.gradle.org
애러 개요
여러 프로젝트를 다루다 보니, 앱을 빌드할 때 아래와 같은 오류가 나는 경우가 생겼다.
BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 64

문제 원인
현재 Gradle 버전과 Java Version이 일치하지 않을 때 오류가 발생한다.
나의 경우 JDK 버전을 20으로 쓰고 Gradle 버전을 8.0으로 써서 문제가 생겼다.
JDK 버전 확인 방법
1. 프로젝트에 설정된 JDK 버전을 확인하기 위해 다음 메뉴에 진입한다. Android Studio > Preferences...

2. Build, Execution, Deployment > Build Tools > Gradle에 진입하면 오른쪽 아래에서 Gradle JDK를 통해 현재 설정된 JDK 버전 확인이 가능하다.

여기서 보면 Gradle을 프로젝트 내부의 gradle-wrapper.properties 파일에서 가져온다고 되어 있으므로 아래와 같이 Gradle 버전을 확인할 수 있다.
Gradle 버전 확인 방법
1. 프로젝트에 설정된 JDK 버전은 [프로젝트 폴더]/gradle/wrapper/gradle-wrapper.properties에서 확인 가능하다.

2. gradle-wrapper.properties 파일을 보면 아래와 같이 설정되어 있는데, 여기서 distributionUrl 에서 [Gradle 버전] 확인이 가능하다.
distributionUrl=https\://services.gradle.org/distributions/gradle-[Gradle 버전]-bin.zip

해결방법
이에 대한 호환성 표는 아래와 같다. 현재 내가 쓰고 있는 것은 JDK20 버전으므로 Gradle 버전을 8.1로 설정하는 것이 필요하다.
Java version | First Gradle version to support it |
8 | 2.0 |
9 | 4.3 |
10 | 4.7 |
11 | 5.0 |
12 | 5.4 |
13 | 6.0 |
14 | 6.3 |
15 | 6.7 |
16 | 7.0 |
17 | 7.3 |
18 | 7.5 |
19 | 7.6 |
20 | 8.1 |
따라서 gradle 8.0이 지원되는 JDK인 JDK17로 JDK를 변경하면 빌드가 성공하는 것을 볼 수 있다.

Reference
Compatibility Matrix
Gradle is tested with Android Gradle Plugin 7.3, 7.4 and 8.0. Alpha and beta versions may or may not work.
docs.gradle.org