Sentry Answers>React Native>

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

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

Matthew C.

The Problem

When using Android Studio IDE or Expo to build a React Native Android application, you get the following error:

Click to Copy
FAILURE: Build failed with an exception. BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 63

This error occurs when you use Android Studio or the React Native Gradle plugin to build code compiled with Java Development Kit (JDK) version 19. Both Android Studio and the plugin use an older version of the React Native Java build tool, Gradle, that doesn’t support newer versions of JDK.

The Solution

You can resolve this issue by downloading and installing an older version of the JDK.

The React Native docs recommend using JDK version 17, as you may encounter problems using higher JDK versions.

If your Gradle version is incompatible with JDK version 17, check and update the Gradle version in the android/gradle/wrapper/gradle-wrapper.properties file in your React Native project directory.

Note

When building an Android app, React Native uses Gradle, a Java build tool, and the Java Development Kit (JDK). The JDK contains tools for building your app and the Java Virtual Machine (JVM), an interpreter that executes Java applications. The JVM runs the Android Studio IDE and the Gradle build tool.

Each JDK release has a class file version for the class file format of the JVM. Class file version 63 corresponds to JDK version 19.

You can check the JDK version supported by specific Gradle versions in this compatibility matrix, which shows that JDK version 19 supports Gradle versions 7.5+.

  • Syntax.fm logo
    Listen to the Syntax Podcast

    Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.

    SEE EPISODES

Considered “not bad” by 4 million developers and more than 100,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.

© 2024 • Sentry is a registered Trademark of Functional Software, Inc.