多个dex文件 - 转换为dalvik格式失败

时间:2014-09-17 23:42:39

标签: android gradle libgdx dalvik dex

我正在使用libgdx进行游戏,昨天一切正常,但现在已经搞砸了。

[2014-09-18 00:38:39 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/badlogic/gdx/Application$ApplicationType;
[2014-09-18 00:38:39 - birdy-android] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/badlogic/gdx/Application$ApplicationType;

这是我得到的错误。我一直试图找到一个答案,我找不到任何可以在任何地方工作的答案。

2 个答案:

答案 0 :(得分:3)

当您将同一个类(具有相同路径)定义两次时会发生这种情况。在这种情况下,课程是:

  

多个dex文件定义 Lcom / badlogic / gdx / Application $ ApplicationType;

这是在Libgdx核心jar中。

所以有两种可能的方案:

  • 您手动创建了项目,并在构建路径中添加了两次jar。

  • 您使用Gradle创建了项目,并且错误地将jar作为依赖项添加了两次:

    project(":core") {
        apply plugin: "java"
    
        dependencies {
            compile "com.badlogicgames.gdx:gdx:$gdxVersion"
            compile "com.badlogicgames.gdx:gdx:$gdxVersion" <--
            compile "com.badlogicgames.gdx:gdx-freetype:$gdxVersion"
        }
    }
    

因此,只需删除克隆的依赖项,或修复构建路径以不添加jar两次。 (您可以随时重新制作项目并复制旧代码。)

答案 1 :(得分:1)

除了Lestat的答案之外,当您将jar添加到Android项目的构建路径并且同时在此项目的“libs”文件夹中时,也可能会发生这种情况。

为避免这种情况,您必须从构建路径中删除jar,并将其放在libs文件夹中。