Android Gradleプラグインに必要なJava 11設定エラー
Android Studioで新しいプロジェクトを作成またはインポートした際に、以下のエラーが発生することがあります:
> Failed to apply plugin 'com.android.internal.application'.
> Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
このエラーは、Android GradleプラグインがJava 11を要求しているのに対し、システムがJava 8を使用している場合に発生します。
問題の原因
Android Gradleプラグインのバージョン7.0以降では、Java 11以上の実行環境が必須となりました。以下の状況でこのエラーが発生します:
- システムのデフォルトJavaバージョンが古い(Java 8など)
- Android Studioの設定で間違ったJDKが選択されている
- 環境変数
JAVA_HOME
が正しく設定されていない - Gradle設定ファイルでJavaパスが指定されていない
解決方法
方法1: Android Studio設定でのJDK変更(推奨)
最も簡単な解決方法は、Android Studio内でJDKの設定を変更することです:
- File → Settings(MacではAndroid Studio → Preferences)を開く
- Build, Execution, Deployment → Build Tools → Gradleを選択
- Gradle JDKオプションでJava 11以上を選択
- ApplyをクリックしてOKで設定を保存
TIP
Android Studio Arctic Fox(2020.3.1)以降では、組み込みのJDKが提供されているため、ダウンロード不要で利用できます。
方法2: gradle.propertiesファイルでの設定
プロジェクトレベルのgradle.properties
ファイルにJavaホームパスを追加します:
# macOSの例
org.gradle.java.home=/Applications/Android Studio.app/Contents/jbr/Contents/Home
# Windowsの例
org.gradle.java.home=C\:\\Program Files\\Java\\jdk-11.0.15
# Linuxの例
org.gradle.java.home=/usr/lib/jvm/java-11-openjdk-amd64
方法3: 環境変数の設定
システム全体の環境変数JAVA_HOME
をJava 11に設定します:
# ~/.zshrcまたは~/.bash_profileに追加
export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home"
export PATH="$JAVA_HOME/bin:$PATH"
# 管理者権限でコマンドプロンプトを開き実行
setx /M JAVA_HOME "C:\Program Files\Java\jdk-11.0.15"
変更後はターミナルを再起動するか、source ~/.zshrc
(macOS/Linux)で設定を反映させます。
方法4: グローバルGradle設定の確認
ユーザーディレクトリのグローバルなGradle設定ファイルを確認します:
# グローバルgradle.propertiesファイルを確認
cat ~/.gradle/gradle.properties
もしorg.gradle.java.home
の設定があれば、それを削除するか正しいJava 11のパスに変更します。
確認方法
設定が正しく適用されたか確認するには:
- Android StudioでFile → Project Structureを開き、SDK設定を確認
- ターミナルで以下を実行:
./gradlew --version
出力にJavaバージョンが11以上と表示されれば成功です:
------------------------------------------------------------
Gradle 7.4
------------------------------------------------------------
...
JVM: 11.0.15 (Oracle Corporation 11.0.15+10-LTS-207)
OS: Mac OS X 12.3.1 aarch64
補足: CI/CD環境での設定
WARNING
CI/CD環境(GitHub Actions、Azure Pipelines、MS App Centerなど)でも同様の設定が必要です。
GitHub Actionsの場合
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: '11'
Azure Pipelinesの場合
- task: JavaToolInstaller@0
inputs:
versionSpec: '11'
jdkArchitectureOption: 'x64'
jdkSourceOption: 'PreInstalled'
トラブルシューティング
パスにスペースが含まれる場合
WindowsでProgram Files
のようなスペースを含むパスでは、以下のようにエスケープが必要です:
# 正しい設定
org.gradle.java.home=C\:\\Program Files\\Java\\jdk-11.0.15
# または短いパス名を使用(Windows)
org.gradle.java.home=C\:\\Progra~1\\Java\\jdk-11.0.15
複数のJDKがインストールされている場合
どのJDKが使用されているか確認するには:
# 現在のJavaバージョンを確認
java -version
# JAVA_HOMEの値を確認
echo $JAVA_HOME
# 利用可能なJDKをリスト(macOS)
/usr/libexec/java_home -V
注意点
- Android Studioのバージョンによって、組み込みJDKのパスが異なる場合があります
- プロジェクトによっては、
build.gradle
ファイルでJavaバージョンの互換性設定も必要です - 設定変更後は、File → Invalidate Caches / Restartでキャッシュをクリアしましょう
Android GradleプラグインのJava要件は今後のバージョンでも変更される可能性があるため、定期的な環境のアップデートを心がけましょう。