Java 未知错误:无法生成:未从SDK文件夹加载文件dx.jar
当我尝试在Eclipse ADT上运行Android项目时,我在控制台中看到:Java 未知错误:无法生成:未从SDK文件夹加载文件dx.jar,java,android,eclipse,eclipse-adt,android-sdk-manager,Java,Android,Eclipse,Eclipse Adt,Android Sdk Manager,当我尝试在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]未知错误:无法生成:未从SDK文件夹加载文件dx.jar 我正在使用EclipseNeon.2版本(4.6
[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]未知错误:无法生成:未从SDK文件夹加载文件dx.jar
我正在使用EclipseNeon.2版本(4.6.2):
这是我在Android SDK管理器中看到的包配置:
我从这个错误中了解到,它无法加载dx.jar,因为它试图“从SDK文件夹”加载它。这条消息甚至用感叹号来表示!它指的是哪个SDK文件夹?我认为在本例中,“C:\Users\jaimemontoya\android SDK”将被视为一个SDK文件夹。您知道它希望在哪里找到“dx.jar”文件吗?我也遇到了同样的问题,但是,我决定卸载eclipse,然后删除整个文件夹…您可以通过单击“帮助”(在eclipse上)--->然后单击“关于eclipse”-->然后单击“安装详细信息”并卸载,删除整个文件夹后,我从SDK下载管理器重新下载了eclipse和所有SDK,它再次开始为我工作。希望它能成功。在阅读已被接受的答案时,我得到了找到解决方案所需的提示 我最终安装了Android SDK: 然后我从“jre1.8.0_121”切换到“jre7”,并将我的编译器遵从性级别从“1.8”更改为“1.7”:
我的应用程序最终编译成功。我今天也遇到了同样的错误,碰巧找到了你的帖子。经过几次尝试,我发现删除26个rc1构建工具有助于解决这个问题。没有一个答案对我有帮助,只有我的决定解决了这个问题: 修正是复制
android-sdk/build-tools/25.0.3/lib
到文件夹
android-sdk/build-tools/26.0.1/lib
现在一切都很好 这可能会有帮助
将此添加到您的build.gradle
:
buildToolsVersion "25.0.2"
将dx.jar从25.0.3复制到26.0.2 lib目录。在eclipse preferences->java->installedJREs中 添加x86安装版本的Java jre path并选择它
然后重新启动eclipse我在eclipse中遇到了同样的问题。 我从“F:\Androidsdk\buildtools\19.1.0\”复制了“lib”文件夹。 将此文件夹粘贴到“F:\eclipsesdk\build tools\27.0.2\”。 从“\build tools\27.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\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。
-我的项目使用的是Android 4.2.2(API 17)和Android(API 10),所以这个问题似乎与我的项目无关。我相信有一些聪明的人会知道到底发生了什么。我使用了以前的版本构建工具25.0.0 似乎Eclipse不想使用较新的版本。尽管安卓工作室可以毫无问题地识别它们。我也有同样的错误 在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表单解决方案时体验到了这一点 错误无法访问jar文件C:\Program Files(x86)\Android\Android sdk\build tools\25.0.3\lib\dx.jar 在确认所需文件确实不存在后,我所做的是打开Android SDK和工具窗口,进入工具选项卡,展开“Android SDK构建工具”节点,取消选中“Android SDK构建工具25.0.3”,应用更改 已卸载此生成工具 之后,我检查并申请了它。这使它重新安装了所有必要的文件 这项建造当时是成功的
我也遇到了同样的问题(Eclipse4.3-Kepler)。解决方案是打开SDK管理器,卸载“AndroidSDK构建工具[rev.28]”(或高于rev.25的版本),安装“AndroidSDK构建工具”rev。24.0.3(在我的情况下,否则我相信版本25也应该可以工作)并重新启动Eclipse。在我的情况下,这起作用了 问题是,最新的androidsdk构建工具不能与较旧版本的Eclipse一起工作(至少我是这样理解的)
希望有帮助 eclipseadt不再支持。因此Google打破了向后兼容,从
dx.jar
中删除了两个类你可以很容易地修好它
dx.jar
。例如
buildtools\28.0.3\lib
(sdk.buildtools=25.0.3)