我正在使用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;
这是我得到的错误。我一直试图找到一个答案,我找不到任何可以在任何地方工作的答案。
答案 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文件夹中。