Android Studio 错误“Android Gradle 插件需要 Java 11 才能运行。您当前使用的是 Java 1.8”

Android Studio Error "Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8"

提问人:Ven Shine 提问时间:4/7/2021 最后编辑:SnostorpVen Shine 更新时间:11/15/2023 访问量:657779

问:

我下载了最新的 Android Studio,我想运行 Android Jetpack Compose Project,但当我运行它时,我收到了错误:

> 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`.

我已经下载了 Java 11 并在 gradle.properties 中添加了 Java 11。

org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-11.0.10.jdk/Contents/Home

JAVA_HOME显示 Java 11,但当我运行时,它不起作用 -/Library/Java/JavaVirtualMachines/jdk-11.0.10.jdk/Contents/Home

我该怎么办?

我的 Android Studio 版本

Enter image description here

我的 Java 版本

java 11.0.10 2021-01-19 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.10+8-LTS-162)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.10+8-LTS-162, mixed mode)

我的gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.2-bin.zip

build.gradle 类路径

classpath "com.android.tools.build:gradle:7.0.0-alpha13"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.31"

文件 build.gradle

plugins {
    id 'com.android.application'
    id 'kotlin-android'
}

android {
    compileSdk 30

    defaultConfig {
        applicationId "com.example.testandroid3"
        minSdk 21
        targetSdk 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        vectorDrawables {
            useSupportLibrary true
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_11
        targetCompatibility JavaVersion.VERSION_11
    }
    kotlinOptions {
        jvmTarget = "11"
        useIR = true
    }
    buildFeatures {
        compose true
    }
    composeOptions {
        kotlinCompilerExtensionVersion compose_version
        kotlinCompilerVersion '1.4.31'
    }
}

java {
    toolchain {
        languageVersion.set(JavaLanguageVersion.of(11))
    }
}

dependencies {

    implementation 'androidx.core:core-ktx:1.3.2'
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'com.google.android.material:material:1.2.1'
    implementation "androidx.compose.ui:ui:$compose_version"
    implementation "androidx.compose.material:material:$compose_version"
    implementation "androidx.compose.ui:ui-tooling:$compose_version"
    implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.0'
    implementation 'androidx.activity:activity-compose:1.3.0-alpha02'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
    androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_version"
}
安卓 android-studio android-gradle-插件

评论

0赞 newUser 12/25/2022
只需运行 npx @react-native-community/cli doctor,它就会给你报告。按 E 进行安装,然后它将为您完成所有操作

答:

1427赞 M Tomczynski 4/8/2021 #1

确保您的 Gradle 使用的是正确的 JDK。 尝试在项目的目录中运行。输出应如下所示:./gradlew --version

Gradle 7.0-rc-2
------------------------------------------------------------

Build time:   2021-04-01 21:26:39 UTC
Revision:     912a3368b654b71250dfc925a20d620393

Kotlin:       1.4.31
Groovy:       3.0.7
Ant:          Apache Ant(TM) version 1.10.9 compiled on September 27 2020
JVM:          11.0.10 (Ubuntu 11.0.10+9-Ubuntu-0ubuntu1.20.10)
OS:           Linux 5.11.4-051104-generic amd64

如果 JVM 指向版本 1.8,则应在设置中更改它。您可以在 Build、Execution、DeploymentBuild ToolsPreferences 中找到它→ Gradle → *Gradle JDK。

Enter image description here

评论

148赞 Ven Shine 4/9/2021
我已经这样设置了它,但它不起作用。
22赞 Ven Shine 4/10/2021
谢谢,我重新启动Android Studio,清除缓存,然后它就可以工作了。
20赞 showtime 8/1/2021
我什至无法在您显示的路径中找到构建工具!
27赞 Ahsan Ullah Rasel 8/18/2021
将 Gradle JDK 更改为 11、Clean Project、Rebuild Project 对我有用!请同时检查您的 jvmTarget、sourceCompatibility 和 targetCompatibility 是否设置为 java 11 compileOptions { sourceCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11 } kotlinOptions { jvmTarget = '11' }
8赞 Volodymyr Buberenko 9/21/2021
@ismailshah 您需要将其放入项目的文件中。但是,我相信这无济于事。确保您的系统 (OS) 具有 Java 11,因为仅更改 Gradle 设置对我没有帮助。在 MacOS 上,我曾经安装和使用 jdk 11。安装后,我看到了用户 Java 的正确值,项目再次开始正常构建。build.gradlesdkman./gradlew -verion
5赞 Chris 6/1/2021 #2

我第一次尝试运行基准测试样本时遇到了类似的问题。

运行示例的指令是执行的

./gradlew macrobenchmark:cC

在IDE终端中,但在我的情况下,这导致了相同的错误。

我尝试了上面 M Tomczyński 的公认答案,但这对我不起作用。我相信这是我现有的配置(可以在这里找到)的结果。JAVA_HOME

这也意味着选项 2,更改我的配置,不是一个选项。JAVA_HOME

不过,对我有用的更改是上述建议中的选项 3。我从上面的答案中检查了 Java 11 的路径并将其添加到 中,然后根据 IDE 提示同步 gradle,并成功重新运行了 macrobenchamark gradle 命令。gradle.properties

org.gradle.java.home=/Applications/Android Studio Preview.app/Contents/jre/Contents/Home

29赞 Samuel Ewudzi Incoom 6/2/2021 #3

你可以用这种简单的方式解决它。

  1. 转到 https://www.oracle.com/java/technologies/javase-jdk16-downloads.html

  2. 下载系统的JDK ZIP文件。(比如说 Windows)

  3. 将其解压缩到PC主目录下具有高权限的任何文件夹中

  4. 现在打开并转到位于 men File* → Project structure 的 Android Studio 项目结构。

  5. 并将解压缩 JDK 版本的目录粘贴到此处。如您所见,我的现在是 JDK 16,并安装在该目录中,如图所示:

    Enter image description here

评论

0赞 Gyan Swaroop Awasthi 9/30/2021
compileOptions { sourceCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11 } kotlinOptions { jvmTarget = “11” useIR = true } >>>>>>>>迁移到 java 11 时是否有必要添加 gradle 文件?
34赞 CoolMind 7/27/2021 #4

当我在北极狐构建的终端中开始时,我遇到了这个错误。gradlew ktlintFormat

  1. 我打开了 Project Structure(菜单 FileProject Structure) 并选择了 Java 11,但即使在重新启动 Android Studio 后也无济于事。

    Enter image description here

  2. 然后我在“设置”中更改了 Java 路径(请参阅接受的答案),但它没有帮助。你应该设置它。

  3. 我试图更改 Windows 系统变量并更改了 .JAVA_HOME

    (一个简短的方法:使用管理权限运行并写入:,然后重新启动Android Studio)cmdsetx /M JAVA_HOME "C:\Program Files\Java\jdk-11.0.11"

    按+,按“系统”,然后输入“va”。WinX

    Enter image description here

    Enter image description here

    我按下按钮和“浏览目录...”,然后选择 Java 11 的 JRE(或 JDK)文件夹(不带)。然后 和 (一如既往)。EditbinOKOK

    Enter image description here

  4. 我打开(在 Windows 中的命令行)并键入:.它给我写了这个错误:cmd%JAVA_HOME%

    “C:\Program”未被识别为内部或外部命令, 可操作的程序或批处理文件。

    查看在 Windows 中设置JAVA_HOME变量,我发现我们应该替换为(是的,这个 DOS 技巧仍然有效)。因此,如下图所示再次替换JAVA_HOME(C:\Progra~1\Android\Androi~1\jre)。Program FilesProgra~1

    Enter image description here

  5. 重新启动 Android Studio 或重置计算机。

评论

2赞 Schrami 7/30/2021
我在MacOS上遇到了同样的问题。将 Gradle JDK 设置为版本 11,构建版本即可正常运行。
0赞 Gyan Swaroop Awasthi 9/30/2021
compileOptions { sourceCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11 } kotlinOptions { jvmTarget = “11” useIR = true } >>>>>>>>迁移到 java 11 时是否有必要添加 gradle 文件?
0赞 CoolMind 9/30/2021
@GyanSwaroopAwasthi,感谢您的通知。在一个项目中,我们使用 和 (JavaVersion.VERSION_11.toString()),正如你所写的。我认为,在此更改之后,Android Studio 将要求升级到 Java 11。JavaVersion.VERSION_11jvmTarget
0赞 Georgiy Chebotarev 1/13/2022
这真的帮助了我,谢谢!最后,我刚刚下载了最后一台java机器并安装了它。笔记本电脑重启后版本更改!
11赞 Daniel 8/2/2021 #5

在 Mac 上,只有将 JAVA_HOME 设置为嵌入到 Android Studio 的 JDK 11 才有帮助。

我在命令行中使用了以下命令:

export JAVA_HOME=ENTER_PATH_TO_JDK_HERE

PATH_TO_JDK可能是这样的/Users/userName/Library/Application\ Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/203.7583922/Android\ Studio.app/Contents/jre/Contents/Home

评论

0赞 cybergen 9/10/2021
只是在我的 Mac 上将 Java 更新到 11 实际上有所帮助。Gradle 在从终端调用时似乎使用系统 Java 版本(即使在 Android Studio 中的终端中)。
20赞 Mohsin 8/4/2021 #6

当我在 Android Studio 中更新需要 Java 11 的依赖项之一时,我收到了此错误。您只需要按照以下步骤操作即可。

  1. 下载 Java 11。对于 Mac,请下载 .dmg 文件,对于 Windows,请下载 ZIP 文件。链接: 下载 Java 11

  2. 在 Android Studio 中选择选项

    Enter image description here

    按照步骤操作,然后选择新保存的 Java SDK

    enter image description here

    按照步骤操作,然后选择新保存的 Java SDK。

    Enter image description here

    (按照步骤操作,然后选择新保存的 Java SDK。

9赞 Змей Горыныч 8/11/2021 #7

我得出的结论是,Gradle 调用系统上安装的 Java 版本,而不管 Android Studio 设置如何。

在 macOS 上,使用以下命令检查系统中已安装的 Java 版本列表:

/usr/libexec/java_home -V

如果其中没有 Java 11 或更高版本,您将收到与问题作者类似的错误。

解决方案是安装 Java 11 或更高版本。

第二种解决方案是使用以下命令在文件夹中创建一个符号链接,指向嵌入在 Android Studio 中的 JRE:~/Library/Java/JavaVirtualMachines/

ln -s "/Applications/Android Studio.app/Contents/jre" "~/Library/Java/JavaVirtualMachines/Android Studio Default JRE"

此外,您可以将此行添加到:~/.zshenv

export JAVA_HOME=/usr/libexec/java_home

如果需要,您可以获取不同 Java 版本的安装路径:

/usr/libexec/java_home -v 11

/usr/libexec/java_home -v 1.8

评论

0赞 James 9/17/2021
上面的其他答案让你在Android Studio中检查java版本。这表明我已经安装了 java 11。按照您的步骤检查使用情况对我有帮助。/usr/libexec/java_home -V
0赞 LucasMW 2/21/2022
谢谢。以上方法均无效
9赞 DavidUps 9/1/2021 #8

如果您当前使用的是 Android Studio Arctic Fox (4.2):

  • 您可以手动设置 Gradle JDK(菜单首选项构建工具Gradle → Gradle JDK(使用或下载 JDK 11))
  • 恢复默认设置,不要在所有项目中执行前面的提示(菜单 文件管理 IDE 设置 → 恢复默认设置)

评论

2赞 Gyan Swaroop Awasthi 9/30/2021
compileOptions { sourceCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11 } kotlinOptions { jvmTarget = “11” useIR = true } >>>>>>>>迁移到 java 11 时是否有必要添加 gradle 文件?
296赞 Sampath 9/14/2021 #9

对于 Android Studio Arctic Fox (4.2),Windows 10 Pro PC 上的 2020.3.1 补丁 2:

第 1 步

Enter image description here

步骤 2

Enter image description here

评论

16赞 Miguel Tomás 9/15/2021
这是最新的Android Studio Artic Fox的解决方案
7赞 Oscar 9/24/2021
当前的 Mac 版本没有“Android”级别或扳手图标。您可以在“Build, Execution, Deployment”(构建、执行、部署)下的“首选项”中找到 Gradle JDK。
2赞 Oke Uwechue 10/19/2021
这奏效了:-)
11赞 Rohit Singh 12/1/2021
像你提到的那样改变了它。但是当我运行 ./gradlew --version 时,它仍然显示 JVM 1.8
6赞 itti_da 7/29/2022
我的 Android Studio 在构建工具中没有此 gradle 选项。
5赞 Sijan Neupane 9/21/2021 #10

在 Android Studio Arctic Fox (4.2) 中将 Gradle JDK 更改为 11 对我有用:

步骤1:

导航到:菜单 文件→设置 → 构建、执行、部署构建工具Gradle

步骤2:

将 Gradle JDK 更改为 11,位于 Gradle 项目下方。

步骤3:

申请,并重建项目

评论

0赞 Gyan Swaroop Awasthi 9/30/2021
compileOptions { sourceCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11 } kotlinOptions { jvmTarget = “11” useIR = true } >>>>>>>>迁移到 java 11 时是否有必要添加 gradle 文件?
0赞 muhaymin khan 11/16/2022
我在此路径上没有找到 Gradle JDK 选项?
10赞 Ali Tamoor 10/9/2021 #11

我只是遇到了同样的问题——

Android Gradle 插件需要 Java 11 才能运行

通过将 Gradle 的 Setup(构建、执行、部署→构建工具)菜单设置→→ Gradle 中的值“JDK 1.9”替换为“Android Studio SDk default JD 11.0.11”来解决该问题。

51赞 SANAT 11/2/2021 #12

Android Studio Arctic Fox (4.2) 2020.3.1 补丁 3 - Mac

您只需从首选项的 Gradle 设置中选择嵌入式 JDK 版本 11.0.10。

Enter image description here

评论

21赞 Luke Pighetti 12/8/2021
我没有看到“Gradle JDK”选项
1赞 Mani murugan 1/31/2023
打开android模块,看看是不是flutter项目。您只能从 android 模块中看到此 Gradle JDK 选项。@LukePighetti
164赞 Ola Ström 11/23/2021 #13

如果您在 Windows 2020.3.1 上使用 Android Studio (Arctic Fox 10)。

以下是修复“生成失败”错误的方法:

Android Gradle 插件需要 Java 11 才能运行。您当前正在使用 Java 1.8 版本

Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8

  1. 打开项目结构...

    (从工具栏)
    Project Structure on the Toolbar

    (或从“文件”菜单)
    Project Structure... on the File Menu

  2. 点击 Gradle 设置链接

    Gradle Settings Link

  3. 从 Gradle JDK 下拉列表中选择正确的 Java JDK

    enter image description here

注意:如果找不到正确的Java JDK,则首先需要下载并安装它...

评论

7赞 Hagai Harari 11/25/2021
还可以修复Mac :)
2赞 Dario Corno 11/16/2022
这也适用于 Linux,并且...你救了我的一天!
0赞 Lifes 3/3/2023
我将我的设置为“嵌入式JDK”,这起作用了。
3赞 Sidharth Shambu 12/15/2021 #14

Android Studio 4.2 (Arctic Fox), 2020.3.1 补丁 3 中,之前的答案都不适合我。

在我的情况下,只有添加工作。org.gradle.java.home=<Path-to-JDK-v11>gradle.properties

如果您使用的是 Linux,只需添加 .org.gradle.java.home=/opt/android-studio/jre

评论

0赞 Jason DeMorrow 6/19/2022
当这里没有其他建议时,Win10,AS 4.1.1 为我工作
10赞 Pavel Shorokhov 12/16/2021 #15

对于macOS用户

与 macOS 捆绑的 JDK 是 1.8,但现在我们需要 11。让 Gradle 使用 AndroidStudio 的 JDK 来构建项目:

在文件中,添加行:<PROJECT_ROOT>/gradle.properties

org.gradle.java.home=/Users/.../Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/.../Android Studio.app/Contents/jre/Contents/Home

注意:如果您没有使用 Jetbrains Toolbox,并且已将 Android Studio 安装到 ,请改用以下路径(感谢 @AndrewBekhtold):/Application

org.gradle.java.home=/Applications/Android Studio.app/Contents/jre/Contents/Home

评论

1赞 Andrew Bekhtold 2/17/2022
Android Studio 中内置的 JVM 有什么问题?org.gradle.java.home=/Applications/Android Studio.app/Contents/jre/Contents/Home
1赞 Paul G 12/20/2022
Mac用户在这里。上面@AndrewBekhtold的那句话对我有用
0赞 Pavel Shorokhov 1/10/2023
@AndrewBekhtold添加以回答您的建议。您的解决方案是正确的,但仅适用于不使用 Jetbrains Toolbox 的用户。Toolbox 的用户已将 Studio 安装到另一个文件夹中,而不是 /Application 中。
2赞 IdiakosE Sunday 1/17/2023
对于 Mac Silicon,您可能需要使用org.gradle.java.home=/Applications/Android Studio.app/Contents/jbr/Contents/Home
0赞 user12952781 2/22/2023
Mac用户在这里。我使用 Visual Studio Code 和 Android Studio Code。对于我现有的 react native 项目遇到的问题。上面@AndrewBekhtold的那句话对我有用。非常感谢!!
10赞 Kuruchy 12/24/2021 #16

⚠️ 注意:如果您在GitHub Actions Pipeline

如果您在项目中使用 Java 11,但构建应用程序的 GitHub Action Pipeline 设置为使用 Java 1.8,则会出现此错误。

若要修复此问题,请替换以下内容:

      - name: set up JDK 1.8
        uses: actions/setup-java@v1
        with:
          java-version: 1.8

跟:

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

评论

0赞 Keyur Thumar 1/1/2022
在项目中的哪个位置添加它?
0赞 Kuruchy 1/2/2022
如果要在 Github Actions Pipeline 上获取此内容,则可以更改项目文件夹下的 Action .yml File 中的步骤。.github/workflows
1赞 yaugenka 1/14/2022
虽然这不能回答OP问题,但它与主题相关,很有帮助!谢谢!
15赞 Lakpriya Senevirathna 1/12/2022 #17

如果您使用的是 MS App Center,则在 Android 项目中使用 Java 11 时可能会遇到同样的问题。如果您正在寻找MS App Center问题的解决方案。这可能会对您有所帮助!

  • 转到https://appcenter.ms/users/user1/apps/yourapp/build/branches
  • 点击设置图标进入Build configuration
  • 向下滚动并打开。Environment
  • 设置为JAVA_HOME$(JAVA_HOME_11_X64)

Enter image description here

评论

3赞 Ayoub 4/14/2022
那个工作形式,伙计,你是救命恩人 xD,谢谢
1赞 Charles Best 8/2/2023
谢谢,正是我需要的
41赞 MasterWil 1/27/2022 #18

这就是我在macOS上修复它的方式。

./gradlew --version

Enter image description here

转到 Race构建、执行、部署Gradle

Enter image description here

将 Gradle JDK 更改为最新版本。

Enter image description here

在安装 Android Studio 之前,我只安装了一个 JDK(Microsoft build OpenJDK 17)。由于未知原因,JDK 1.8 已随 Android Studio 一起安装,并设置为 Gradle 默认值/Users/<username>/Library/Java/JavaVirtualMachines/corretto-1.8.0_322

评论

2赞 Loren.A 2/22/2022
谢谢你。选择在我的 M1 mac 上对我有用。Embedded JDK version 11.0.11
2赞 Sebastian Thomas 3/23/2022
Go to Preference -> Build, Execution, Deployment -> Build Tools -> Gradle
0赞 vainu 4/4/2022
这对我不起作用,你还有什么可以解决这个问题的。@MaserWil
0赞 MasterWil 4/4/2022
@vainu这就是我为解决问题所做的一切。对不起,如果这无济于事。
6赞 M Karimi 5/2/2022
我没有看到“Gradle JDK”选项
10赞 isamirkhaan1 1/28/2022 #19

这里的所有解决方案都对 Java 11 有帮助。但是,如果您不想升级到 Java 11,那么您应该将 Android Gradle 插件 (ADP) 降级到 4.X,如下所示:

Enter image description here

3赞 Weidian Huang 2/26/2022 #20

如果您不想使用 JDK 11 并且仍然想使用 JDK 1.8,您可以恢复 Android 插件,如下所示。

plugins {
    id 'com.android.application' version '4.2.0' apply false
    id 'com.android.library' version '4.2.0' apply false
}
4赞 Adam 4/7/2022 #21

如果您在 Android Studio 的终端中遇到此问题,您应该将环境中的 JAVA_HOME 配置到 Java 11 中,并在 Preferences 中设置 Gradle JDK 无法解决。我想从终端运行 Gradle 和从 IDE 运行 Gradle 不是同一个过程,它们使用不同的 JDK 位置。

17赞 Muhaiminur Rahman 4/10/2022 #22

您可以通过以下方式执行此操作(菜单“文件”→“生成”选项):

Menu File -> Build option

6赞 Roddy P. Carbonell 5/7/2022 #23

我通过将其添加到gradle.properties文件来解决它:

org.gradle.java.home=/usr/lib/jvm/java-11-openjdk-amd64

但是您的 Java 11 可能位于不同的目录中。

Windows 的示例路径:

org.gradle.java.home=C\:\\Program Files\\Java\\jdk-13.0.2
9赞 Yuvaraj 5/19/2022 #24
  • 对于最新版本,这适用于我的 Windows 计算机

  • 菜单文件项目结构

    Project

  • 从您安装的机器中选择 JDK 11

  • 单击 和 。ApplyOK

  • 完成这些更改后,重新启动 Android Studio

  • 现在,你就可以开始了

Enter image description here

评论

0赞 btm me 5/31/2022
对我没有任何帮助.我刚刚更新了 Flutter 3.0 和 JDK11.0.5
0赞 btm me 5/31/2022
终于为我工作了 android { compileSdkVersion flutter.compileSdkVersion ndkVersion flutter.ndkVersion compileOptions { sourceCompatibility 11 targetCompatibility 11 } kotlinOptions { jvmTarget = “11” useIR = true } sourceSets { main.java.srcDirs += 'src/main/kotlin' }
0赞 Peter Mortensen 2/17/2023
这几乎是不可读的。您可以在截屏之前缩小窗口并裁剪图像以遗漏不相关的部分吗?提前致谢。
39赞 Abid Ali 6/4/2022 #25

macOS M1上,我通过以下步骤解决了它。

  1. Visual Studio Code 中打开文件 ~/.zshrc

  2. 添加了以下行:

    export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/Contents/Home"
    
  3. 已保存文件

  4. 通过运行

    source ~/.zshrc
    
  5. 测试是否已加载更改,方法是运行

    echo $JAVA_HOME
    
  6. 已验证是否显示正确的位置。

  7. 已验证 Gradle 是否显示正确的 Java 11 版本,方法是运行

    cd android
    ./gradlew --version
    

结果如下:

------------------------------------------------------------
Gradle 7.3.3
------------------------------------------------------------

Build time:   2021-12-22 12:37:54 UTC
Revision:     6f556c80f945dc54b50e0be633da6c62dbe8dc71

Kotlin:       1.5.31
Groovy:       3.0.9
Ant:          Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM:          11.0.12 (JetBrains s.r.o. 11.0.12+0-b1504.28-7817840)
OS:           Mac OS X 12.2.1 aarch64

尝试通过运行以下命令再次构建它:

yarn android

它成功了。

评论

0赞 Hyfy 3/28/2023
我想知道Windows操作系统。
0赞 Melih Mucuk 4/5/2023
在 Android Studio Electric Eel 版本中,它应该是 .只需更改 .export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home"jrejbr
0赞 SwiftiSwift 7/25/2023
我爱你谢谢你!!它也适用于非Mac M1
11赞 Jasper Diongco 6/22/2022 #26

对于使用 Visual Studio Code 的 Flutter 项目

将此内容添加到文件 gradle.properties

org.gradle.java.home=<path to JDK 11>

例:

C:\\Program Files\\Java\\jdk-11.0.15

gradle.properties

评论

0赞 Tanner Davis 10/19/2022
我认为如果您关心最佳实践,这可能更适合。local.properties
0赞 Ruble 3/6/2023
就我而言效果很好!
30赞 Fazan Cheng 8/4/2022 #27

我再次下载了 11 JDK,它可以工作。这样可以节省您的时间,因为您不必清除缓存、生成和重新生成项目。

Downloading new JDK (pick version 11 again or a later version)

评论

0赞 Fazan Cheng 6/27/2023
我的解决方案至今仍然有效,您可以选择最新版本,例如 Amazon Corretto 20...
37赞 Dr. Roger Webster 10/22/2022 #28

在Android Studio中,我刚刚做到了这一点:

Gradle 构建、执行、部署构建→工具的首选项

简单易行。

Preferences->Build,Execution,Deployment->Build Tools-> Gradle

评论

0赞 Csaba Toth 10/8/2023
IntelliJ 太令人沮丧了。所以每个项目都是这样做的。现在我正在我的一个 WearOS 项目中,收到了这个投诉,将其更改为 Studio 的 Java(我认为是 1.17)。现在我得到了.Invalid Gradle JDK configuration found.
5赞 genericUser 10/27/2022 #29

将 Java 主路径添加到 wrapper.properties

在 Android Studio 首选项中更改 Gradle JDK 对我不起作用。

但是我能够通过在文件中添加路径来更正 JDK。org.gradle.java.homegradle-wrapper.properties

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip

# I had to add this line (macOS)
org.gradle.java.home=/Applications/Android Studio.app/Contents/jre/Contents/Home

我通过转到菜单“文件”→“项目结构”→ SDKs→找到JAVA_HOME路径,选择要使用的JDK→JDK主路径

Enter image description here

在那之后,我能够再次运行 Gradle Wrappergradlew) 命令。

评论

1赞 philburk 7/10/2023
我已经尝试了所有方法,包括重置我的IDE设置,更改JAVA_HOME等。这终于奏效了。
24赞 Dr. Roger Webster 12/14/2022 #30

当我升级到 Android Studio 15 (Dolphin) 时,我收到了这个错误,它很容易修复。这个答案是最简单、最快和最好的......

在Android Studio中,我刚刚做到了这一点:

首选项构建、执行、部署构建工具→ *gradle。选择“Java 11”或“12”等。

简单易行

请看图片。

Enter image description here

评论

0赞 Peter Mortensen 2/17/2023
第二个答案(自我抄袭)。第一个答案