【问题标题】:multiple dex files - conversion to dalvik format failed多个 dex 文件 - 转换为 dalvik 格式失败
【发布时间】:2014-09-17 23:42:38
【问题描述】:

我在 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;

这是我得到的错误。我一直在努力寻找答案,但在任何地方都找不到。

【问题讨论】:

  • 您需要告诉我们您的项目包含哪些依赖项。我假设您使用的是 gradle,因此您可以在 build.gradle 的“dependencies {}”部分找到它们。

标签: android gradle libgdx dalvik dex


【解决方案1】:

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

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

在 Libgdx 核心 jar 中。

所以 2 种可能的场景:

  • 您手动创建了项目并在构建路径中添加了两次 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。 (不过,您可以随时重新制作项目并复制旧代码)。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-25
      • 2013-03-05
      • 1970-01-01
      • 2017-04-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-29
      相关资源
      最近更新 更多