Unknown error: Unable to build: the file dx.jar was not loaded from the SDK folder

Unknown error: Unable to build: the file dx.jar was not loaded from the SDK folder

当我尝试在 Eclipse ADT 上 运行 我的 Android 项目时,我在控制台中看到了这个:

[2017-03-24 15:34:41 - Dex Loader] Failed to load C:\Users\jaimemontoya\android-sdks\build-tools.0.0-preview\lib\dx.jar

[2017-03-24 15:34:41 - CouponClub] 未知错误:无法构建:文件 dx.jar 未从 SDK 文件夹加载!

我正在使用 Eclipse Neon.2 版本 (4.6.2):

这是我从 Android SDK 管理器中看到的包配置:

我从那个错误中了解到它无法加载 dx.jar 因为它正在尝试加载它 "from the SDK folder"。该消息甚至使用感叹号表示!它指的是什么 SDK 文件夹?我认为在这种情况下 "C:\Users\jaimemontoya\android-sdks" 将被视为一个 SDK 文件夹。您知道在哪里可以找到 "dx.jar" 文件吗?

我也遇到了同样的问题,但是我决定卸载 eclipse,然后删除整个文件夹...您可以通过单击帮助(在 eclipse 上)---> 然后 'about eclipse' ---> 然后 'installation details' 并卸载,删除整个文件夹后,我从 SDK 下载管理器重新下载了 eclipse 和所有 SDK,它又开始为我工作了。希望一切顺利。

阅读 上接受的答案给了我找到解决方案所需的提示。

我完成了这个 Android SDK 安装:

然后我从 "jre1.8.0_121" 切换到 "jre7",并将我的编译器合规级别从“1.8”更改为“1.7”:

我的App终于编译成功了

我今天遇到了同样的错误,碰巧找到了你的post。经过多次尝试,我发现删除 26 rc1 Build-tools 可以帮助解决问题。

None 个答案对我有帮助,只有我的决定解决了问题:

修复就是复制

android-sdk/build-tools/25.0.3/lib

到文件夹

android-sdk/build-tools/26.0.1/lib

现在一切正常!

这可能会有所帮助。the third answer

将此添加到您的 build.gradle 中:

buildToolsVersion "25.0.2"

将 dx.jar 从 25.0.3 复制到 26.0.2 lib 目录。

在 eclipse 首选项中 -> java -> 安装的 JRE 添加 x86 安装版本 Java jre 路径和 select 它 然后重启eclipse

我在 eclipse 中遇到了同样的问题。 我是从 "F:\Androidsdk\build-tools.1.0\" 复制 "lib" 文件夹。 将此文件夹粘贴到 "F:\eclipsesdk\build-tools.0.2\"。 从 "\build-tools.0.2\" 中删除 "lib64" 文件夹。 意味着你已经从旧的构建工具版本复制 "lib" 文件夹并粘贴到 最新的构建工具版本文件夹。

在为这个错误苦苦挣扎了几个小时之后,我发现了这个谜题的一些线索,你可能会觉得有用。

首先我在当前工作区找到了一个记录错误的日志,特别是:

!ENTRY org.eclipse.andmore 4 0 2017-12-21 06:05:34.764
!MESSAGE Failed to load C:\Program Files (x86)\Android\android-sdk\build-tools.0.2\lib\dx.jar
!STACK 0
java.lang.ClassNotFoundException: com.android.dx.command.DxConsole
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at org.eclipse.andmore.internal.build.DexWrapper.loadDex(DexWrapper.java:109)
    at org.eclipse.andmore.internal.sdk.Sdk.getDexWrapper(Sdk.java:806)
    at org.eclipse.andmore.internal.build.BuildHelper.executeDx(BuildHelper.java:777)
    at org.eclipse.andmore.internal.project.ExportHelper.exportReleaseApk(ExportHelper.java:274)
    at org.eclipse.andmore.internal.project.ExportHelper.run(ExportHelper.java:376)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

所以除了加载失败还有其他原因。

我检查了 dx.jar 并确认 DxConsole class 不存在。更重要的是,DxConsole 也不在 26.0.3 中。但是,我在 25.0.3 中找到了它(我只是使用任何二进制工具打开 jar 并寻找 DxConsole。即使它是 Zip 文件,DxConsole 文件名也无法压缩,因此很容易搜索)。

总而言之,那些说用旧 dx.jar 版本替换 dx.jar 的用户在某种程度上是正确的。
-您需要先关闭 Eclipse(否则您将在尝试替换 jar 文件时出错)
- 请注意您使用的 dx.jar 版本进行替换(25.0.3 对我有用)
- 备份{android sdk}\build-tools.0.2\lib\dx.jar 并替换为{android-sdk}build-tools.0.3\lib\dx.jar
-这个问题很可能发生在任何拥有 26.0.x 版本
的人身上 -这对我有用,之后我有一个 'No DEX file found' 但我想这不相关。否则,我会改进这个答案。

需要注意的其他事项:

-我正在使用 Eclipse Neon 3。
-我的项目正在使用 Android 4.2.2 (API 17) 和 Android (API 10) 所以问题似乎与我的项目无关。我相信那里有聪明的人会弄清楚发生了什么。

我用的是之前的版本build-tools 25.0.0.

似乎 Eclipse 不想使用较新的版本。尽管 Android Studio 可以毫无问题地识别它们。

我遇到了同样的错误。

在 Android SDK 管理器中我卸载了所有

Android SDK Build-Tools.

然后我只安装了

Android SDK Build-Tool Version 25.0.3.

在此之后我可以构建我的应用程序。

一起使用 Eclipse 和 Android Studio

> add this to the project.properties of your project:
> sdk.buildtools=25.0.2

我在使用 Microsoft Visual Studio 2017 构建具有 Xamarin Android 项目的 Xamarin Forms 解决方案时遇到过这种情况。

错误是无法访问 jar 文件 C:\Program Files (x86)\Android\android-sdk\build-tools.0.3\lib\dx.jar

确认所需文件确实不存在后,我所做的是打开 Android SDK 和工具 window,转到工具选项卡,展开 'Android SDK Build tools'节点,取消选中 'Android SDK Build-Tools 25.0.3',应用更改。

已卸载此构建工具。

后来,我检查并应用了它。这使它重新安装了所有必要的文件。

构建成功。

我遇到了同样的问题(使用 Eclipse 4.3 - Kepler)。解决方案是打开 SDK 管理器,卸载 "Android SDK Build-tools [rev. 28]"(或您使用的版本高于 25 的版本),安装 "Android SDK Build-tools" 版本。 24.0.3(在我的例子中,否则我相信版本 25 也应该工作)并重新启动 Eclipse。这在我的案例中起到了作用。

事实是,最新的 Android SDK 构建工具不适用于旧版本的 Eclipse(或者至少我是这样理解的)。

希望对您有所帮助!

Eclipse ADT 不再支持。因此 Google 从 dx.jar.
中删除两个 类 打破向后兼容性 您可以轻松修复它。

  1. 转到您的 sdk 文件夹。从最新的构建工具导航到 dx.jar
    例如 build-tools.0.3\lib
  2. 在任何 zip 压缩器中打开 dx.jar
    我使用 WinRAR。
  3. 导航到存档内的路径 com\android\dx\command
    在这里您看不到文件 DxConsole.classDxConsole.class
  4. 现在导航至 dx.jar 25.0.3 或之前。
  5. 再次导航至此存档内的 com\android\dx\command
    在这里您可以看到文件 DxConsole.classDxConsole.class
  6. 将它从旧 dx.jar 复制到新 dx.jar。我只是将其从一个 WinRAR window 拖放到另一个。

全部完成。现在您可以将新的 dx.jar 与 Eclipse ADT 一起使用。

此解决方案最好由 dx.jar 替换,因为您可以使用新版本的 dx.jar

您需要在每次更新构建工具时执行此步骤。

第一个 运行 android SDK 管理器 下载 android SDK 构建工具 25.0.3

打开 project.properties 文件并添加此行

(sdk.buildtools=25.0.3)

最后重启 Eclipse