19

当我在 Android Studio 中运行我的模块时,我收到此错误:

错误:Android Dex:[GradleDevBuild] 无法加载 dx.jar

我一直在网上无休止地寻找解决方案,但一切都与 eclipse 有关,Android Studio 什么都没有。

dex.jar 的路径是 C:\AndroidSdk\build-tools\26.0.0\lib\dex.jar 所以它确实存在,我已将它移出文件夹并被通知它已移动,因此 AS 知道它在哪里。我已经尝试将它复制到根目录和平台工具文件夹中,但是什么也没做。

这是所有似乎都源于此 dx.jar 错误的完整错误列表。

Error:Android Dex: [GradleDevBuild] Failed to load dx.jar
Error:Android Dex: [GradleDevBuild] java.lang.ClassNotFoundException: com.android.dx.command.DxConsole
Error:Android Dex: [GradleDevBuild] at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
Error:Android Dex: [GradleDevBuild] at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
Error:Android Dex: [GradleDevBuild] at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
Error:Android Dex: [GradleDevBuild] at org.jetbrains.android.compiler.tools.AndroidDxRunner.loadDex(AndroidDxRunner.java:80)
Error:Android Dex: [GradleDevBuild] at org.jetbrains.android.compiler.tools.AndroidDxRunner.runDex(AndroidDxRunner.java:136)
Error:Android Dex: [GradleDevBuild] at org.jetbrains.android.compiler.tools.AndroidDxRunner.main(AndroidDxRunner.java:336)
Error:Android Dex: [GradleDevBuild] Exception in thread "main" java.lang.NullPointerException
Error:Android Dex: [GradleDevBuild] at org.jetbrains.android.compiler.tools.AndroidDxRunner.runDex(AndroidDxRunner.java:139)
4

8 回答 8

27

我刚刚在 OS X 和 Ubuntu 上清理安装了 Android Studio 并遇到了同样的问题。通过将构建工具降级到 25.0.3 来修复。

对于@emjapeve:

  • 选择SDK Manager( Tools/ Android/ SDK Manager)。
  • 点击SDK Tools选项卡,默认情况下仅显示当前工具版本。
  • 选中Show Package Details复选框。

从这里您可以安装/卸载您想要的任何版本。

于 2017-06-29T01:36:01.190 回答
6

如果您正在进行旧版构建,那么这里是修复...

由 Android Studio 使用的 Android Build Tools 可能会在 dexing 期间产生 dx.jar 错误。

请将 Android 构建工具恢复到 25.0.3。

Tools->Android->SDK Manager
    Click on SDK Tools
    Check the Show Package Details Box in the Lower Right
    Unselect Android SDK Build Tools 26 or higher
    Select Android SDK Build Tools 25.0.3
于 2018-03-28T14:56:34.973 回答
3

我的解决方法是复制

android-sdk/build-tools/25.0.3/lib

到文件夹

android-sdk/build-tools/26.0.1/lib

现在一切都适用于 Eclipse

于 2017-09-08T19:55:29.143 回答
2

就我而言,我将 dx.jar 文件从 pathToYourSDK/build-tools/25.0.1/lib 复制到 pathToYourSDK/build-tools/25.0.1/ 并且它有效。

于 2017-11-14T12:38:30.070 回答
1

随着新的 Eclipse 更新,高于 25.0.0 的 Android SDK 出现问题(使用 lib\dex.jar),如果您在同一构建工具文件夹中有其他 SDK,则无法运行该项目,导致Eclipse 会预选最新的 SDK,不能切换到 25.0.0。只需删除文件夹中 25 以上的 SDK。

于 2018-10-04T08:03:04.603 回答
1

In sdk manager do the following In my case my 1. Android SDK tools version was 25.2.5 2. Android SDK platform tools version was 26 3. Android SDK Build tools version was 26.0.1

Deleted 3 Installed Android SDK Build tools version 25.0.3 Problem solved You can download and delete corresponding version of package according to your sdk tools version

于 2017-08-04T20:27:02.217 回答
1

我的案例:IntelliJ IDEA、libgdx - 项目

在我的情况下,我的项目在第一次打开后尚未配置为 gradle。我重新启动了我的 IDE 并单击了右下角站点上的“配置 gradle”弹出窗口,它工作正常。

看到这个线程: 模块......不受 gradle 支持

于 2017-12-04T22:53:59.963 回答
0

无需“正常”卸载构建工具。只需转到 .../Sdk/build-tools/ 并重命名和 chmod 000 用于旧于 24.xx 或 25.xx 的工具的所有文件夹(需要时尽快恢复)

(在玩 rmaps 时遇到了这个问题(使用 Eclipse 的 froyo 时代编译的古老项目))

于 2018-08-28T07:23:36.653 回答