繁体   English   中英

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

[英]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\26.0.0-preview\lib\dx.jar

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

在此输入图像描述

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

在此输入图像描述

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

在此输入图像描述

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

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

修复是复制

android-sdk/build-tools/25.0.3/lib

到文件夹

android-sdk/build-tools/26.0.1/lib

现在一切都很棒!

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

在将一个模块包含到项目中后,Got“不支持的类文件版本52.0”中读取已接受的答案给了我提示,我需要找到解决方案。

我最终安装了这个Android SDK:

在此输入图像描述

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

在此输入图像描述

在此输入图像描述

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

一起工作Eclipse和Android Studio

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

Eclipse ADT不再支持。 因此Google破坏了向后兼容性,从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

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

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

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

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

!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),所以问题似乎与我的项目无关。 我相信那里有聪明的人会弄明白发生了什么。

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

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

我在日食中遇到同样的问题。 我是“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版本文件夹中。

我有同样的错误。

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

Android SDK Build-Tools.

然后我只安装了

Android SDK Build-Tool Version 25.0.3.

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

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

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

(sdk.buildtools=25.0.3)

最后重启Eclipse

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

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

我在使用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 SDK和工具窗口

我遇到了同样的问题(使用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(或者至少这是我理解它的方式)。

希望能帮助到你!

这可能有所帮助。 第三个答案

build.gradle添加:

buildToolsVersion "25.0.2"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM