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
.
中删除两个 类 打破向后兼容性
您可以轻松修复它。
- 转到您的 sdk 文件夹。从最新的构建工具导航到
dx.jar
。
例如 build-tools.0.3\lib
- 在任何 zip 压缩器中打开
dx.jar
。
我使用 WinRAR。
- 导航到存档内的路径
com\android\dx\command
。
在这里您看不到文件 DxConsole.class
和 DxConsole.class
。
- 现在导航至
dx.jar
25.0.3
或之前。
- 再次导航至此存档内的
com\android\dx\command
。
在这里您可以看到文件 DxConsole.class
和 DxConsole.class
。
- 将它从旧
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
当我尝试在 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
.
中删除两个 类 打破向后兼容性
您可以轻松修复它。
- 转到您的 sdk 文件夹。从最新的构建工具导航到
dx.jar
。
例如build-tools.0.3\lib
- 在任何 zip 压缩器中打开
dx.jar
。
我使用 WinRAR。 - 导航到存档内的路径
com\android\dx\command
。
在这里您看不到文件DxConsole.class
和DxConsole.class
。 - 现在导航至
dx.jar
25.0.3
或之前。 - 再次导航至此存档内的
com\android\dx\command
。
在这里您可以看到文件DxConsole.class
和DxConsole.class
。 - 将它从旧
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