找不到 tools.jar。请检查 C:\Program Files\Java\jre1.8.0_271 是否包含有效的 JDK 安装

时间:2021-01-13 17:49:50

标签: java android flutter dart

在调试模式下在为 x86 构建的 Android SDK 上启动 lib\main.dart... 正在运行 Gradle 任务 'assembleDebug'...

FAILURE:构建失败,出现异常。

  • 出了什么问题: 任务“:app:compileDebugJavaWithJavac”执行失败。
<块引用>

找不到 tools.jar。请检查 C:\Program Files\Java\jre1.8.0_271 是否包含有效的 JDK 安装。

  • 试试: 使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。使用 --scan 运行以获得完整的见解。

  • https://help.gradle.org

    获得更多帮助

在 4 秒内构建失败 例外:Gradle 任务 assembleDebug 失败,退出代码为 1

这是我在调试器中得到的完整代码。我曾尝试删除并重新安装 java 一次还正确添加了环境变量 JAVA_HOME 仍然这个问题在过去 2 天没有离开我。因为它而感到沮丧。请帮忙

1 个答案:

答案 0 :(得分:0)

从您看到的错误来看,似乎 Gradle 设置为指向您的 JRE 独立安装而不是 JDK...

同样从您的帖子来看,您似乎在运行 Windows。

因此,首先,请确保您已安装 JDK:

  1. 您可以自己在文件系统中搜索它(这很可能位于
    C:\Program Files\Java\ 目录)。
  2. 打开 CLI(即命令行界面,或命令提示符)并输入 javac -version 并告诉我们它的响应方式。
  3. 打开 CLI 并输入 where javac 并告诉我们它的响应方式。它应该打印您的 javac.exe 可执行文件的位置(它将位于 JDK 安装目录下,这反过来会让我们知道您的 JDK 安装在哪里)。

如果您没有安装 JDK,请确保您安装了,方法是下载 + 安装它。例如,您可以从 here 获取 Oracle 的 JDK。确保选择所需的 JDK 而不是 JRE。例如,对于版本 8(我可以看到您正在使用的 Java 版本),您可以导航 here

然后,确保 Gradle 指向 JDK 安装而不是独立的 JRE。

为此,我不是这方面的专家,但如果 Gradle 使用 JAVA_HOME 环境变量,请确保此值指向您的 JDK 而不是 JRE。您可以打开 CLI 并输入
echo %JAVA_HOME% 并告诉我们它是如何响应的。如果它显示 JRE 安装,请尝试将此环境变量更改为 JDK 安装。另外不要忘记将 %JAVA_HOME%\bin 放入您的 PATH 环境变量中(如果它还没有的话)(本文稍后会详细介绍)。

顺便问一下,您使用的是哪个 IDE(例如 Android Studio、Eclipse 等...)?

除了我建议您在这里告诉我们的所有内容之外,您还可以在另一篇类似的帖子中尝试以下答案,这可能会有所帮助:

  1. How to configure Gradle to run from JDK
  2. How to set JAVA_HOME properly to point to the JDK
  3. How to override default java.home Gradle property

请注意,JAVA_HOME 是一个环境变量,应该指向 JDK,而 java.home 是一个 Gradle 属性,应该指向 JRE。

尝试上述可能的解决方案,不要忘记让我们知道您的观察结果以及每个 CLI 命令的响应方式。