Android Studioでプロジェクトを開いたときやGradle Sync、ビルドを実行したときに、
「Android Gradle plugin requires Java」
というエラーが表示されることがあります。
このエラーは、
Android Gradle Pluginが必要としているJavaのバージョンと、
現在Gradleで使用されているJDKのバージョンが一致していない場合に発生します。
特にAndroid Gradle Pluginを更新した場合、
Android Studioを更新した場合、
古いAndroidプロジェクトを新しい環境で開いた場合などに発生することがあります。
この記事では、
Android Studioで「Android Gradle plugin requires Java」と表示される場合の
主な原因と解決方法を解説します。
- 「Android Gradle plugin requires Java」とは
- 主な原因
- エラーメッセージに表示されているJavaバージョンを確認する
- 現在使用しているJavaのバージョンを確認する
- Gradleが使用しているJavaを確認する
- Android StudioのGradle JDKを確認する
- Gradle JDKを変更する
- Android Studio付属のJDKを使用する
- 必要なJDKがインストールされているか確認する
- Android Gradle Pluginのバージョンを確認する
- Android Gradle Pluginだけを更新した場合
- Android Gradle Pluginを下げる
- Gradleのバージョンを確認する
- JDK、Gradle、Android Gradle Pluginの組み合わせを確認する
- Android Studioを更新した後に発生した場合
- 古いプロジェクトを新しいAndroid Studioで開いた場合
- システムのJavaとGradle JDKを混同しない
- JAVA_HOMEを確認する
- 複数のJDKがインストールされている場合
- Gradle Syncを再実行する
- Clean Projectを実行する
- Android Studioを再起動する
- コマンドラインだけでエラーになる場合
- CIや自動ビルド環境で発生する場合
- エラー別の確認ポイント
- 解決しない場合の確認手順
- まとめ
「Android Gradle plugin requires Java」とは
「Android Gradle plugin requires Java」は、
使用しているAndroid Gradle Pluginが必要とするJavaバージョンに対して、
Gradleが実際に使用しているJDKのバージョンが古いなど、
Java環境の要件を満たしていない場合に表示されるエラーです。
エラーメッセージには、
必要なJavaのバージョンが表示される場合があります。
Android Gradle plugin requires Java 17 to run.
You are currently using Java 11.
この例では、
Android Gradle Pluginを実行するためにJava 17が必要ですが、
現在はJava 11が使用されていることを示しています。
ポイント:
このエラーでは、
PCに新しいJavaがインストールされているかどうかだけでなく、
Android StudioのGradleが実際にどのJDKを使用しているかを確認することが重要です。
主な原因
Android Studioで
「Android Gradle plugin requires Java」が発生する主な原因には、
次のようなものがあります。
- Gradle JDKのバージョンが古い
- Android Gradle Pluginだけを更新した
- Android Studioを更新した後も古いJDKが選択されている
- GradleとJDKの組み合わせが合っていない
- システムのJavaとAndroid StudioのGradle JDKが異なっている
JAVA_HOMEが古いJDKを指している- 古いAndroidプロジェクトを新しいAndroid Studioで開いた
- 複数のJDKがインストールされている
- コマンドラインとAndroid Studioで異なるJDKが使用されている
- CIや自動ビルド環境で古いJavaが使用されている
エラーメッセージに表示されているJavaバージョンを確認する
まず、
エラーメッセージ全文を確認します。
次のように、
Android Gradle Pluginが要求しているJavaのバージョンと、
現在使用されているJavaのバージョンが表示される場合があります。
Android Gradle plugin requires Java 17 to run.
You are currently using Java 11.
この場合は、
Gradleが使用するJDKをJava 17以上の対応するバージョンへ変更する必要があります。
現在使用しているJavaのバージョンを確認する
Terminalなどから、
システムで使用されているJavaのバージョンを確認できます。
java -version
例えば、
Java 11が使用されている場合は、
Java 11に関する情報が表示されます。
ただし、
ここで表示されるJavaと、
Android StudioのGradleが使用しているJDKが同じとは限りません。
Gradleが使用しているJavaを確認する
Gradle Wrapperを使用して、
Gradleが実際に使用しているJVMを確認できます。
./gradlew --version
Windowsでは、
環境によって次のように実行します。
gradlew.bat --version
表示された情報のJVM欄などから、
Gradleが使用しているJavaのバージョンを確認できます。
Android StudioのGradle JDKを確認する
Android Studioでは、
Gradleが使用するJDKを個別に設定できます。
システムの
java -version
では新しいJavaが表示されていても、
Android Studio側では古いGradle JDKが選択されている場合があります。
Android StudioのGradle設定を開き、
現在選択されているGradle JDKを確認します。
Android Gradle Pluginが要求しているJavaバージョンに対応するJDKを選択します。
Gradle JDKを変更する
エラーに表示されたJavaバージョンよりも古いJDKが選択されている場合は、
Gradle JDKを対応するバージョンへ変更します。
例えば、
Android Gradle PluginがJava 17を要求している場合は、
Gradle JDKとしてJava 17に対応するJDKを選択します。
変更後は、
Gradle Syncを再実行します。
Android Studio付属のJDKを使用する
Android Studioには、
JDKが付属している場合があります。
Gradle JDKとしてAndroid Studio付属のJDKを選択することで、
外部にインストールしたJavaとのバージョン違いによる問題を減らせる場合があります。
ただし、
使用しているAndroid Gradle PluginやGradleが
そのJDKに対応しているか確認する必要があります。
必要なJDKがインストールされているか確認する
Android Gradle Pluginが要求しているJavaバージョンのJDKが
PCにインストールされていない場合は、
対応するJDKを用意する必要があります。
JDKをインストールした後は、
Android StudioのGradle JDKとして
新しくインストールしたJDKを選択します。
JDKをインストールしただけでは、
Android Studio側の設定が自動的に切り替わらない場合があります。
Android Gradle Pluginのバージョンを確認する
Android Gradle Pluginのバージョンによって、
必要とされるJavaのバージョンが異なる場合があります。
プロジェクトによっては、
次のようにAndroid Gradle Pluginのバージョンが指定されています。
plugins {
id("com.android.application") version "8.5.0" apply false
}
古い形式のプロジェクトでは、
次のように設定されている場合があります。
classpath 'com.android.tools.build:gradle:8.5.0'
Android Gradle Pluginを更新した直後にエラーが発生した場合は、
新しいAndroid Gradle Pluginが要求するJavaバージョンを確認します。
Android Gradle Pluginだけを更新した場合
Android Gradle Pluginだけを新しいバージョンへ変更すると、
以前使用していたJDKでは動作しなくなる場合があります。
その結果、
「Android Gradle plugin requires Java」が表示されることがあります。
この場合は、
Android Gradle Pluginが要求するJDKへ変更するか、
必要に応じてAndroid Gradle Pluginを以前の対応バージョンへ戻します。
Android Gradle Pluginを下げる
使用している環境の都合で新しいJDKへ変更できない場合は、
Android Gradle Pluginを現在のJava環境に対応する以前のバージョンへ戻すことで
解決する場合があります。
ただし、
Android Gradle Pluginを変更すると、
Gradleとの互換性にも影響するため、
Gradleのバージョンも確認します。
注意:
Javaだけ、
Android Gradle Pluginだけ、
Gradleだけを単独で変更すると、
別の互換性エラーが発生する場合があります。
JDK、Gradle、Android Gradle Pluginの組み合わせを確認しながら変更します。
Gradleのバージョンを確認する
JDKを変更した場合は、
使用しているGradleがそのJavaバージョンに対応しているかも確認します。
Gradleのバージョンは、
通常次のファイルで確認できます。
gradle/wrapper/gradle-wrapper.properties
ファイル内の
distributionUrl
を確認します。
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
使用するJDKに対してGradleが古すぎる場合は、
Gradle側の更新が必要になることがあります。
JDK、Gradle、Android Gradle Pluginの組み合わせを確認する
Androidプロジェクトでは、
JDK、
Gradle、
Android Gradle Pluginの3つのバージョンが互いに関係しています。
Android Gradle Pluginが新しくても、
GradleやJDKが古い場合は正常に動作しないことがあります。
逆に、
JDKやGradleだけを必要以上に新しくした場合も、
Android Gradle Pluginとの互換性問題が発生することがあります。
そのため、
3つを互換性のある組み合わせにすることが重要です。
Android Studioを更新した後に発生した場合
Android Studioを更新すると、
Gradleで使用するJDKや、
推奨されるAndroid Gradle Pluginの環境が変わる場合があります。
Android Studioを更新した直後に
「Android Gradle plugin requires Java」が発生した場合は、
Gradle JDKの設定を確認します。
以前使用していた古いJDKが残っている場合は、
対応するJDKへ変更します。
古いプロジェクトを新しいAndroid Studioで開いた場合
古いAndroidプロジェクトでは、
古いAndroid Gradle Plugin、
Gradle、
JDKを前提とした構成になっている場合があります。
新しいAndroid Studioでプロジェクトを開き、
Android Gradle Pluginだけを更新すると、
Javaの要件が変わってこのエラーが発生することがあります。
この場合は、
JDK、
Gradle、
Android Gradle Pluginを一度にすべて最新版へ変更するのではなく、
対応関係を確認しながら順番に更新します。
システムのJavaとGradle JDKを混同しない
PCに複数のJDKがインストールされている場合、
Terminalで使用されているJavaと、
Android StudioのGradleで使用されているJavaが異なることがあります。
Terminalでは、
次のコマンドでJavaを確認できます。
java -version
Gradleが実際に使用しているJavaは、
次のコマンドで確認できます。
./gradlew --version
2つの結果が異なる場合は、
Android StudioのGradle JDKや環境変数を確認します。
JAVA_HOMEを確認する
コマンドラインからGradleを実行している場合は、
JAVA_HOME
の設定が影響する場合があります。
JAVA_HOME
が古いJDKを指していると、
新しいJDKがインストールされていても、
Gradleが古いJavaで実行される場合があります。
Android Studioでは正常に動作するのに、
Terminalから実行するとエラーになる場合などは、
JAVA_HOME
を確認します。
複数のJDKがインストールされている場合
PCにJava 11、
Java 17、
Java 21など複数のJDKがインストールされている場合、
意図しないJDKが選択されることがあります。
Android StudioのGradle JDK、
JAVA_HOME、
Terminalの
java -version
をそれぞれ確認します。
Android Gradle Pluginが要求するJavaバージョンと、
Gradleが実際に使用しているJavaが一致しているか確認します。
Gradle Syncを再実行する
Gradle JDKやAndroid Gradle Plugin、
Gradleの設定を変更した後は、
Gradle Syncを再実行します。
Android Studioから
Sync Project with Gradle Files
などを実行します。
設定変更後も以前のエラーが表示されている場合は、
Syncによって新しい設定が読み込まれることがあります。
Clean Projectを実行する
JDKやGradleの設定を変更しても、
古いビルド情報が残っている場合があります。
Android StudioのBuildメニューなどから
Clean Project
を実行し、
その後Gradle SyncやRebuild Projectを実行します。
Android Studioを再起動する
Gradle JDKを変更しても以前の状態が残っている場合は、
Android Studioを再起動します。
再起動後にGradle Syncを実行し、
新しく選択したJDKが使用されているか確認します。
コマンドラインだけでエラーになる場合
Android Studioからは正常にビルドできる一方で、
Terminalから
./gradlew
を実行した場合だけエラーになることがあります。
この場合は、
Android StudioのGradle JDKと、
Terminal側の
JAVA_HOME
やJavaの設定が異なっている可能性があります。
java -version
と
./gradlew --version
を確認し、
実際に使用されているJavaを比較します。
CIや自動ビルド環境で発生する場合
ローカルのAndroid Studioでは正常に動作していても、
CIや自動ビルド環境では
「Android Gradle plugin requires Java」が発生する場合があります。
この場合は、
CI環境で使用されているJavaのバージョンを確認します。
ローカル環境とCI環境で異なるJDKが使用されていると、
同じプロジェクトでもビルド結果が異なることがあります。
エラー別の確認ポイント
JavaやGradleに関するエラーによって、
確認すべき場所をある程度絞り込むことができます。
| 表示される内容 | 主な確認ポイント |
|---|---|
| Android Gradle plugin requires Java | Gradle JDK、JDK、Android Gradle Plugin |
| Unsupported class file major version | JDK、Gradle、Android Gradle Plugin |
| Minimum supported Gradle version is … | Gradle Wrapper、Android Gradle Plugin |
| incompatible version of the Android Gradle plugin | Android Studio、Android Gradle Plugin、Gradle |
| Gradle sync failed | 詳細エラー、JDK・Gradle・プラグインの互換性 |
解決しない場合の確認手順
原因が分からない場合は、
次の順番で確認すると問題を切り分けやすくなります。
- 「Android Gradle plugin requires Java」のエラー全文を確認する
- 要求されているJavaのバージョンを確認する
- 現在使用されているJavaのバージョンを確認する
java -versionを確認する- Android StudioのGradle JDKを確認する
./gradlew --versionでGradleが使用しているJVMを確認する- Android Gradle Pluginのバージョンを確認する
- Gradle Wrapperのバージョンを確認する
- JDK、Gradle、Android Gradle Pluginの互換性を確認する
- 必要に応じてGradle JDKを対応するJDKへ変更する
- 必要に応じてAndroid Gradle PluginまたはGradleを変更する
JAVA_HOMEを確認する- 複数のJDKがインストールされていないか確認する
- Gradle Syncを再実行する
- 必要に応じてClean Projectを実行する
- 必要に応じてAndroid Studioを再起動する
重要:
「Android Gradle plugin requires Java」が表示された場合は、
Javaを単純に最新版へ変更するのではなく、
Android Gradle Pluginが要求するJDKと、
Gradleが対応しているJDKを確認し、
JDK、Gradle、Android Gradle Pluginを互換性のある組み合わせにすることが重要です。
まとめ
Android Studioの
「Android Gradle plugin requires Java」
は、
Android Gradle Pluginが必要としているJavaのバージョンと、
Gradleが実際に使用しているJDKが一致していない場合に表示されるエラーです。
特にAndroid Gradle Pluginだけを更新した場合や、
Android Studioを更新した場合、
古いプロジェクトを新しい開発環境で開いた場合などに発生することがあります。
まずエラーメッセージに表示されている必要なJavaバージョンを確認し、
次にAndroid StudioのGradle JDKと
./gradlew --version
で実際に使用されているJavaを確認します。
そのうえで、
JDK、
Gradle Wrapper、
Android Gradle Pluginのバージョンを確認し、
互換性のある組み合わせへ変更してからGradle Syncを再実行すると、
原因を効率よく切り分けることができます。
