Android SDK 中的 "tools.jar" 到底是什么?

What exactly is "tools.jar" in the Android SDK?

所以,我已经尝试在 LibGDX 中构建一个项目大约 10 个小时了。如果您不熟悉,LibGDX 是您在开始时指定项目目录以及任何所需的 SDK 的平台之一,然后当您准备好开始编码时,它会为您生成一个项目。

无论如何,我遇到了一个问题,每次我尝试构建它时都会失败并显示一条错误消息:

Execution failed for task :core:compileJava.

Could not find tools.jar

我猜 "tools.jar" 是 Android SDK 中的一个包,因为这是唯一需要构建的存储库,它不需要 JRE 甚至 Java 开发工具包。只是 Android SDK。

我一直在查看 SDK 管理器,我已经安装了所有标有 "Android-SDK Tools"、"Android-SDK Platform Tools" 和 "Android SDK Build Tools" 的软件包,但没有其他包含 "tools.jar",我正在寻找关于这个话题的一些线索,因为它是一个非常灰色的区域。我想知道这个 .jar 文件来自哪里以及它到底包含什么。可以从 Android SDK 安装吗?

之前有过类似的问题,只适用于狭窄的情况,如果有人可以提供 tools.jar 包的整体描述,这将对我和其他需要它的人大有裨益第 3 方 android 个 IDE。

郑重声明,它是使用 Gradle 构建的,我当前的 SDK 配备齐全,足以在 Android Studio 中构建成熟的应用程序。

请不要用问题来回答这个问题,除非我遗漏了一些很难找到合适解决方案的信息

尝试将 tools.jar 从 %JAVA_HOME\lib 复制到 Android Studio\lib

在我的例子中,我有五个 jdk,有些有 tools.jar 而其他没有,我的解决方案是将此 tools.jar 复制粘贴到 jdk 的所有库中。

对我来说,将 tools.jar 复制到 Android lib 文件夹并不能解决我的问题。

但我还必须在 Windows 环境变量中创建一个系统变量 'JAVA_HOME',其中包含最新 JDK 文件夹的路径。

重新启动 Android Studio,问题已解决。

我的Android工作室版本:4.2.1

"tools.jar" 由 Oracle JDK 提供,android studio 需要它进行编译 - 我遇到过这个问题在我的 PC 中将 android Studio 更新到最新版本后。

要解决此问题,请按照以下步骤操作:

  1. 在 Android studio 文件 -> 项目结构 -> SDK(在平台设置下)

    A) 如果假设 JDK/JDK 主路径不存在于中间窗格中,请在中间窗格中按“+”符号添加 JDK 路径(中间窗格还包含已下载的 Android SDK)

    B) Java sdk 通常在路径中 present/installed 64 位 => "C:\Program Files\Java\jdk1.X.Y_ABC"(在我的电脑中是 1.8.0_202)或 32 位 => "C:\Program Files (x86)\Java\jdk1.X.Y_ABC"

  2. 如果您的电脑上没有安装JDK,请从Oracle Java网站下载并安装 https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

  3. 在系统环境变量中设置JDK和JRE路径(从第2步提到的网页下载)

    A) 按windows键输入“编辑系统环境变量”并打开应用程序

    B) 转到高级 -> 环境变量 在系统变量下添加JAVA_HOME和JRE_HOME如下

    Set Windows system environment variable

  1. 在用户变量下的Path环境变量上添加jdklib路径(仅当上述步骤无法解决错误时才需要此步骤) C:\程序Files\Java\jdk1.X.Y_ABC\lib

对我没有任何作用。所以我复制了 tools.jar 并将其粘贴到 C:\Users\UMAR_\AppData\Local\Android\Sdk\platforms\android-30 中,这是 Android API 30 平台的库路径。我在每个文件夹中粘贴了 tools.jar,它开始工作了。

我最初没有 tools.jar,但按照这个 link 并下载了 https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

也添加到环境变量中..但是在第一段中起作用了,我仍然不知道是否有必要添加到变量中。