AGP 7.0.0-alpha02起需要使用Java 11
https://developers-jp.googleblog.com/2020/12/announcing-android-gradle-plugin.html

当Java版本不正确时,Gradle的sync阶段回报错如下:

An exception occurred applying plugin request [id: 'com.android.application']
> Failed to apply plugin 'com.android.internal.application'.
   > Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
     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`.

需要注意gradle的Java版本并非AndroidStudio工程依赖的Java版本。
gradle的Java版本可以通过以下任一种方式进行配置:

方式1:通过IDE配置

以Mac版本为例:
AndroidStudio > Preferences... > Gradle
在这里插入图片描述

Note: 如果你用了新版本的 Studio,可能无法找到上面页面,此时请找一下这里 Project Structure -> SDK Locaktion -> JDK Location ,可以根据 Project 分别指定

方式2:通过gradle.properties配置

gradle.properties文件中配置如下:

org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
                    AGP 7.0.0-alpha02起需要使用Java 11当Java版本不正确时,Gradle的sync阶段回报错如下:An exception occurred applying plugin request [id: 'com.android.application']> Failed to apply plugin 'com.android.internal.application'.   > Android Gradle plugin requires Java 11 to run. You
				
Java版本不正确时,Gradle的sync阶段回报错如下: 意思就是我们的 Gradle 插件需要 Java 11 才能运行。而我们当前使用的是 Java 1.8 , 所以只需要修改一下我们 Gradlejava版本就ok了 。 Gradlejava版本修改起来也很简单 AndroudStudio File > Settings > 搜索 Gradle > 选择我们需要的版本 > Apply > ok 回到我们的Gradle 再次sync 一下 就ok了
解决Android Gradle plugin requires Java 17 to run. You are currently using Java的具体操作步骤
> Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8. Your current JDK is located in D:\Program Files\Java\jdk1.8.0_221\jre You can try some of the following options: - changing the IDE settings.
Compose 声明式UI 在Android中越来越受关注,很多小伙伴都想尝试下。但是编译时经常会碰到如下编译报错 An exception occurred applying plugin request [id: 'com.android.application'] while integration Jetpack Compose plugins { id 'com.android.application' id 'kotlin-android' 明明常规开发也是这样的..
先说自己的解决办法: 一、先看看自己的gradle插件版本,项目的build.gradlegradle:后面为版本号,例: classpath 'com.android.tools.build:gradle:2.0.0-beta7' 二、在这个网址中找到更高级别的版本号,替换原来的版本号 https://jcenter.bintray.com/com/android/tools/build/gradle/ 三、点击Sync Now就会自动下载更新版本
An exception occurred applying plugin request [id: 'com.android.application'] > Failed to apply plugin 'com.android.internal.application'. > Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8. You can try some of th
### 回答1: Android Gradle Plugin是一个用于构建和打包Android应用程序的开发工具,它负责自动化构建过程,并提供了一种方便的方式来管理和配置项目的依赖关系。 Android Gradle Plugin的源码位于Android开源项目中,主要由Kotlin编写。该代码库包含了许多模块,负责不同的功能。其中包括用于解析和处理项目中的构建脚本(BuildScript)的模块,用于处理项目中的依赖关系的模块,以及用于生成APK和资源的模块等等。 在源码中,我们可以看到很多关于项目配置的类和方法,例如BuildType、ProductFlavor和Variant等。这些类提供了一种声明性的方式来定义项目的构建配置,从而使开发人员能够根据需要自定义构建流程。构建过程中的每个关键步骤都在源码中有相应的实现,例如资源编译、代码编译、打包等。开发人员可以根据自己的需求查看这些实现,并扩展或定制构建流程。 此外,Android Gradle Plugin的源码还包含了许多与Android开发相关的工具类和接口,例如AndroidManifest解析器、资源处理器等。这些工具类和接口为开发人员提供了一种更加高效的方式来操作Android应用程序的各个方面。开发人员可以在源码中学习这些工具类和接口的实现原理,从而更好地理解和利用Gradle来构建和打包Android应用程序。 总之,Android Gradle Plugin的源码是一个非常重要的资源,它提供了构建和打包Android应用程序的底层实现。通过学习这些源码,开发人员可以更深入地理解Gradle构建系统,并根据自己的需求进行扩展和定制。 ### 回答2: Android Gradle插件是用于构建和打包Android应用程序的工具,允许开发者将Java/Kotlin源代码和资源文件编译成可在Android设备上运行的APK文件。在构建过程中,Gradle插件负责处理依赖关系、资源管理、代码混淆和优化等任务。 Android Gradle插件的源码可以在Google的Android开源项目中找到,开发者可以通过阅读源码来了解插件是如何工作的,深入理解Android构建流程,或者根据需求定制自己的构建逻辑。 Android Gradle插件的源码结构分为几个主要的模块: 1. `agp-shared`模块:包含用于处理Gradle构建配置的共享代码。 2. `agp-gradle-api`模块:包含Gradle插件的API接口和实现。 3. `agp-model`模块:包含与构建模型相关的代码,包括任务、变量、属性等。 4. `agp-common`模块:包含插件的一般工具类和帮助方法。 5. `agp-testing`模块:包含用于构建测试和运行集成测试的代码。 6. `agp-core`模块:包含插件的主要逻辑,包括任务的执行顺序、构建变体等。 7. `agp-ide-common`和`agp-idea`模块:包含与Android Studio集成相关的代码。 阅读Android Gradle插件的源码可以帮助开发者更好地理解构建过程中的细节,并且为构建过程中的问题提供更深入的分析和解决方案。此外,通过阅读源码,开发者还可以了解到插件的最新功能和更新,快速适应新版本的Android构建工具。