본문 바로가기
Android

BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 61

by whoyoung90 2023. 9. 15.
반응형

> 이슈

23년 8월 31일 플레이 스토어에서 SDK 타깃 버전을 상향하라는 이슈를 보고

https://developer.android.com/google/play/requirements/target-sdk?hl=ko

 

Google Play의 대상 API 수준 요구사항 충족하기  |  Android Developers

Google Play의 대상 API 수준 요구사항 충족하기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. APK를 업로드하는 경우 Google Play의 대상 API 수준 요구사항을 충족

developer.android.com

 

오랜만에 웹뷰 프로젝트를 빌드해봤더니 아래와 같은 오류가 발생하였다.

Could not open init generic class cache for initialization script ...(생략)...
BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 61

에러 내용

 

> 원인

현재 Gradle 버전과 Java Version이 일치하지 않을 때 오류가 발생한다고 한다.

사용 중인 Gradle 버전(6.7.1)은 Java 17 버전을 지원하지 않기 때문에

Gradle을 Java 17을 지원하는 버전으로 업데이트 해야한다.

 

> 해결

1. gradle-wrapper.properties 파일을 보면 아래와 같이 설정되어 있는데, distributionUrl 에서 [Gradle 버전] 확인이 가능하다.

distributionUrl=https\://services.gradle.org/distributions/gradle-[Gradle 버전]-bin.zip

 

2. gradle-wrapper.properties 파일에서 distributionUrl을 버전에 맞게 변경후

[Sync Project with Gradle Files]을 클릭해주자.

// 기존
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip

// 변경
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip

 

> ETC

Android Gradle 플러그인 버전 Gradle 버전은 다르다!!

예를 들자면,

 

👉 build.gradle (My Application) 파일

buildscript {
  repositories {
    // ...
  }
  dependencies {
    classpath 'com.google.gms:google-services:4.3.8'
    classpath "com.android.tools.build:gradle:4.2.0" // Android Gradle 플러그인 버전
  }
}

 

👉 gradle-wrapper-properties 파일

distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip  // Gradle 버전

 

https://developer.android.com/build/releases/past-releases/agp-7-4-0-release-notes?hl=ko

 

Android Gradle 플러그인 7.4.0 (2023년 1월)  |  Android Developers

Android Gradle 플러그인 7.4.0 출시 노트

developer.android.com

 

 

[참조 URL]

https://kotlinworld.com/425

 

반응형

댓글