Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
文章目录
Intro
在 macbook 上新安装的 Android Studio ,第一次启动 Android 项目。报错如下:

An exception occurred applying plugin request [id: 'com.android.application', version: '7.2.0-alpha01']
> Failed to apply plugin 'com.android.internal.application'.
> Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
Your current JDK is located in /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre
You can try some of the following options:
- changing the IDE settings.
- changing the JAVA_HOME environment variable.
- changing `org.gradle.java.home` in `gradle.properties`.
问题原因
当前项目使用的 Android Gradle Plugin 为 7.2.0
见 settings.gradle 中的 com.android.application plugin 的版本号。

Android Gradle Plugin 7.2.0 要求的 JDK版本为11
见:https://developer.android.google.cn/build/releases/past-releases/agp-7-2-0-release-notes?hl=en
在之后的解决过程中发现,本项目当前默认使用了JDK 1.8 【这也是本次问题主要要改的地方】。
解决
File --> Project Structure --> SDK Location --> Gradle Settings:

主要改两个位置:
Use Gradle from 选择 gradle-wrapper.properties file.
Gradle JDK 选择你自己亲手安装并配置了JAVA_HOME的那个、且需要JDK版本为11。

改过之后重启一下 Android Studio,再启动项目。成功。
其他
AGP(Android Gradle Plugin)
在有些地方会见到这样的简写,用apg代称com.android.application。
AGP版本和JDK版本的适配
根据 https://developer.android.google.cn/build/releases/past-releases/agp-8-0-0-release-notes?hl=en
AGP 从 7.0 开始就要求 JDK 11 及以上。
AGP 从 8.0 开始就要求 JDK 17 及以上。


Gradle 版本 和 Android Gradle Plugin 版本
在File --> Project Structure 中可以看到两个选项,这两个选项中说的版本分别是在项目哪里配置的呢?
- Gradle 版本,配置于
./gradle/wrapper/gradle-wrapper.properties中的distributionUrl。 - Android Gradle Plugin 版本,配置于
./build.gradle中的com.android.application插件版本处。
