Unsupported class file major version 🤖 Android

Gradle: Unsupported class file major version / Android Gradle plugin requires Java 17 to run

The JDK running Gradle doesn’t match what the Gradle version or Android Gradle Plugin (AGP) supports.

Seen on: Android Java

Meaning

AGP 8.x requires JDK 17+, while old Gradle versions can’t run on new JDKs (“Unsupported class file major version 65” = JDK 21 on an old Gradle). Android Studio’s Gradle JDK setting, JAVA_HOME and CI images often disagree.

Common causes

  • AGP 8 with JDK 11 (“requires Java 17”)
  • Old Gradle wrapper with JDK 21+ (major version 65)
  • CI image JDK differs from Android Studio’s embedded JDK
  • JAVA_HOME pointing to a different JDK than Studio

⚡ Quick fix

  1. Settings → Build Tools → Gradle → Gradle JDK: select JDK 17 (embedded JBR)
  2. Upgrade the Gradle wrapper for newer JDKs
  3. Set JAVA_HOME / setup-java to 17 in CI

Detailed fix by platform

Android

  1. Check and upgrade the wrapper:
    bash
    ./gradlew --version                   # shows Gradle version and the JVM it runs on
    ./gradlew wrapper --gradle-version 8.7
    # GitHub Actions:
    # - uses: actions/setup-java@v4
    #   with: { distribution: temurin, java-version: '17' }

How to diagnose

  1. JVM — Which JDK runs Gradle (gradlew --version)?
  2. Versions — AGP ↔ Gradle ↔ JDK compatibility
  3. Environment — Studio vs CLI vs CI differences

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.