Skip to content

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の設定を変更することです:

  1. FileSettings(MacではAndroid StudioPreferences)を開く
  2. Build, Execution, DeploymentBuild ToolsGradleを選択
  3. Gradle JDKオプションでJava 11以上を選択
  4. ApplyをクリックしてOKで設定を保存

TIP

Android Studio Arctic Fox(2020.3.1)以降では、組み込みのJDKが提供されているため、ダウンロード不要で利用できます。

方法2: gradle.propertiesファイルでの設定

プロジェクトレベルのgradle.propertiesファイルにJavaホームパスを追加します:

properties
# 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に設定します:

bash
# ~/.zshrcまたは~/.bash_profileに追加
export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home"
export PATH="$JAVA_HOME/bin:$PATH"
powershell
# 管理者権限でコマンドプロンプトを開き実行
setx /M JAVA_HOME "C:\Program Files\Java\jdk-11.0.15"

変更後はターミナルを再起動するか、source ~/.zshrc(macOS/Linux)で設定を反映させます。

方法4: グローバルGradle設定の確認

ユーザーディレクトリのグローバルなGradle設定ファイルを確認します:

bash
# グローバルgradle.propertiesファイルを確認
cat ~/.gradle/gradle.properties

もしorg.gradle.java.homeの設定があれば、それを削除するか正しいJava 11のパスに変更します。

確認方法

設定が正しく適用されたか確認するには:

  1. Android StudioでFileProject Structureを開き、SDK設定を確認
  2. ターミナルで以下を実行:
bash
./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の場合

yaml
- name: Set up JDK 11
  uses: actions/setup-java@v3
  with:
    distribution: 'zulu'
    java-version: '11'

Azure Pipelinesの場合

yaml
- task: JavaToolInstaller@0
  inputs:
    versionSpec: '11'
    jdkArchitectureOption: 'x64'
    jdkSourceOption: 'PreInstalled'

トラブルシューティング

パスにスペースが含まれる場合

WindowsでProgram Filesのようなスペースを含むパスでは、以下のようにエスケープが必要です:

properties
# 正しい設定
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が使用されているか確認するには:

bash
# 現在のJavaバージョンを確認
java -version

# JAVA_HOMEの値を確認
echo $JAVA_HOME

# 利用可能なJDKをリスト(macOS)
/usr/libexec/java_home -V

注意点

  • Android Studioのバージョンによって、組み込みJDKのパスが異なる場合があります
  • プロジェクトによっては、build.gradleファイルでJavaバージョンの互換性設定も必要です
  • 設定変更後は、FileInvalidate Caches / Restartでキャッシュをクリアしましょう

Android GradleプラグインのJava要件は今後のバージョンでも変更される可能性があるため、定期的な環境のアップデートを心がけましょう。