Android Studioでの「Unsupported class file major version」エラーの解決方法

beginner📱 Android2026-07-13| Android Studio (Arctic FoxからKoalaまで)、Gradleビルドシステム、Windows、macOS、またはLinux上のJDK 11、17、または21。

Error Message

Cause: unsupported class file major version 65 (or versions 61, 62, 63)
#Gradle#JDK#Android Studio#ビルドエラー

解決策の要約 (TL;DR)

この問題は、バージョンの不一致が原因です。現在のプロジェクトが使用しようとしているJavaバージョン(JDK)を、現在のGradleバージョンがまだ認識できていません。すぐにコーディングに戻るには、以下の手順に従ってください。

  • Settings(macOSの場合はSettings/Preferences)を開きます。
  • Build, Execution, Deployment > Build Tools > Gradle へ進みます。
  • Gradle JDK セクションで、JDK 17やJDK 11などの低いバージョンを選択します。あるいは、JDKに合わせてGradleのバージョンを上げてください。

根本原因を読み解く

Javaは内部IDとして「メジャーバージョン」番号を使用します。Gradleが unsupported class file major version 65 というエラーを出すのは、実質的に「Java 21用にコンパイルされたコードを見つけましたが、古いバージョンしか処理できません」と言っているのです。

エラーがどのJavaバージョンについて指摘しているか、以下のリストで確認してください。

  • メジャーバージョン 66: Java 22
  • メジャーバージョン 65: Java 21
  • メジャーバージョン 61: Java 17
  • メジャーバージョン 55: Java 11
  • メジャーバージョン 52: Java 8

このような不一致は、通常Android Studioをアップデートした後に発生します。また、新しいプロジェクトをインポートした際や、Android Studioが誤って新しくインストールされたJDKを読み込んでしまった場合にも起こります。

方法1:Android Studioの設定でJDKを調整する

通常、最も簡単な修正方法は、Android Studioが互換性のあるJDKを参照するように設定することです。Androidアプリをビルドするために、必ずしも最新のJavaバージョンが必要なわけではありません。

  • Ctrl+Alt+S(Windows/Linux)または Cmd+,(macOS)を押してSettingsを開きます。
  • Build, Execution, Deployment > Build Tools > Gradle に移動します。
  • Gradle JDK のドロップダウンを探します。
  • Gradleのバージョンが7.x系の場合は、JDKを Embedded JDK または JDK 17 に切り替えてください。
  • Apply を押し、同期バナーの Try Again をクリックします。

方法2:Gradleのバージョンをアップグレードする

Java 21の機能が必要ですか?その場合は、Gradleをアップグレードする必要があります。例えば、Java 21(バージョン65)が正しく動作するには、少なくとも Gradle 8.5 が必要です。

  • プロジェクトツリーで gradle/wrapper/gradle-wrapper.properties を開きます。
  • distributionUrl の行を探します。
  • バージョン番号を互換性のあるリリースに更新します。
# 旧バージョン(Java 21をサポートしていません)
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip

# 更新後のバージョン(Java 21をサポート)
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip

プロジェクトを再度同期します。Gradleは必要なファイルを自動的にダウンロードします。これで「major version 65」エラーは解消されるはずです。

方法3:ターミナルとJAVA_HOMEの修正

IDE上では問題なくても、ターミナルで ./gradlew assembleDebug を実行すると失敗することがあります。これは、ターミナルがAndroid Studioの内部設定を無視し、システムの JAVA_HOME 環境変数に依存しているためです。

ターミナルが何を使用しているか、次のコマンドを実行して確認してください。

java -version

もしJava 21が返され、プロジェクトがJava 17を必要としている場合は、JAVA_HOME をリダイレクトする必要があります。macOSまたはLinuxでは、現在のセッションで一時的に切り替えることができます。

export JAVA_HOME=`/usr/libexec/java_home -v 17`
./gradlew build

Windowsでは、Android StudioのJBRフォルダへのパスを設定します。

set JAVA_HOME=C:\Program Files\Android\Android Studio\jbr
.\gradlew build

互換性早見表

環境を安定させるために、この対応表を活用してください。各Javaリリースに必要な最小のGradleバージョンを示しています。

  Javaバージョン
  必要なGradleバージョン




  17
  7.3+


  18
  7.5+


  19
  7.6+


  20
  8.3+


  21
  8.5+

修正の確認

設定を変更したら、状態をクリーンにします。File > Invalidate Caches... に移動し、Invalidate and Restart を選択してください。これにより、以前の失敗したビルドから残っているメタデータが消去されます。

再起動後、**象のアイコン(Sync Project with Gradle Files)**をクリックします。下部の Build タブを確認し、緑色のチェックマークが表示されれば準備完了です。

まだエラーが出ますか?モジュールレベルの build.gradle ファイルを再確認してください。sourceCompatibilitytargetCompatibility が、選択したJDKと一致していることを確認します。

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
    kotlinOptions {
        jvmTarget = '17'
    }
}

Related Error Notes