未知错误:无法构建:未从SDK文件夹加载文件dx.jar

问题描述 投票:27回答:16

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

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

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

enter image description here

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

enter image description here

这是我从Android SDK Manager看到的包配置:

enter image description here

我从该错误中理解的是,它无法加载dx.jar,因为它试图“从SDK文件夹”加载它。该消息甚至使用感叹号来表示!它指的是什么SDK文件夹?我认为在这种情况下“C:\ Users \ jaimemontoya \ android-sdks”将被视为SDK文件夹。你知道它在哪里找到“dx.jar”文件吗?

java android eclipse eclipse-adt android-sdk-manager
16个回答
27
投票

没有任何答案帮助我,只有我的决定解决了这个问题:

修复是复制

android-sdk/build-tools/25.0.3/lib

到文件夹

android-sdk/build-tools/26.0.1/lib

现在一切都很棒!


1
投票

我在日食中遇到同样的问题。我是“F:\ Androidsdk \ build-tools \ 19.1.0 \”复制“lib”文件夹。将此文件夹粘贴到“F:\ eclipsesdk \ build-tools \ 27.0.2 \”中。从“\ build-tools \ 27.0.2 \”中删除“lib64”文件夹。表示您从旧的build-tools版本复制“lib”文件夹并粘贴到最新的build-tools版本文件夹中。


1
投票

首先运行android SDk管理器下载android SDK build-tools 25.0.3

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

(sdk.buildtools=25.0.3)

最后重启Eclipse


0
投票

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


0
投票

在eclipse首选项 - > java - > installedJREs添加x86安装版本的Java jre路径并选择它然后重启eclipse


0
投票

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

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

在确认所需文件确实不存在之后,我所做的就是打开Android SDK和工具窗口,转到工具选项卡,展开“Android SDK构建工具”节点,取消选中“Android SDK Build-Tools 25.0”。 3',应用了这些变化。

这使得这个构建工具被卸载了。

之后,我检查并申请了。这使它重新安装了所有必要的文件。

然后构建成功。

Android SDKs and Tools Window


-1
投票

我遇到了同样的问题(使用Eclipse 4.3 - Kepler)。解决方案是打开SDK管理器,卸载“Android SDK Build-tools [rev.28]”(或者你正在使用的那个高于rev.25),安装“Android SDK Build-tools”rev。 24.0.3(在我的情况下,否则版本25也应该工作,我相信)并重新启动Eclipse。这完成了我的工作。

问题是,最新的Android SDK构建工具不适用于旧版本的Eclipse(或者至少这是我理解它的方式)。

希望能帮助到你!


-3
投票

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

在你的build.gradle中添加:

buildToolsVersion "25.0.2"

13
投票

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


9
投票

一起工作Eclipse和Android Studio

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

8
投票

Got "unsupported class file version 52.0" after including a module to a project阅读接受的答案给了我提示我需要找到解决方案。

我最终安装了这个Android SDK:

enter image description here

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

enter image description here

enter image description here

我的应用终于成功编译了。


5
投票

Eclipse ADT不再支持。所以谷歌向后兼容从dx.jar删除两个类。 你可以轻松修复它。

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

全部完成。现在您可以在Eclipse ADT中使用新的dx.jar

这个解决方案更好地取代dx.jar,因为你可以使用新版本的dx.jar

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


2
投票

我也遇到了同样的问题,但是我决定卸载eclipse,然后删除整个文件夹...你可以点击Help(在eclipse上)--->然后'关于eclipse'--->然后'安装细节'和卸载,删除整个文件夹后我重新下载了eclipse和SDK下载管理器中的所有SDK它又开始为我工作了。希望它成功。


2
投票

经过几个小时的挣扎,我找到了一些你可能觉得有用的谜题线索。

首先,我在当前工作空间中找到了记录错误的日志,特别是:

!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\27.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$2.run(ExportHelper.java:376)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

所以除了加载失败之外还有其他东西。

我检查了dx.jar,我验证了DxConsole类不存在。更重要的是,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 \ 27.0.2 \ lib \ dx.jar并将其替换为{android-sdk} build-tools \ 25.0.3 \ lib \ dx.jar - 任何拥有26.0.x版本的人都可能会遇到这个问题 - 这对我有用,之后我找到了“没有找到DEX文件”,但我想这与此无关。否则,我会改进这个答案。

很少有其他注意事项:

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


2
投票

我使用以前的版本build-tools 25.0.0。

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


1
投票

我有同样的错误。

在Android SDK Manager中,我卸载了所有

Android SDK Build-Tools.

然后我只安装了

Android SDK Build-Tool Version 25.0.3.

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

© www.soinside.com 2019 - 2024. All rights reserved.