【问题标题】:Working on libgdx source code, Android module build error处理 libgdx 源代码,Android 模块构建错误
【发布时间】:2024-01-09 05:07:01
【问题描述】:

我使用 gdx-setup 创建项目。我的 ide 是 Android Studio for mac。 我没有使用 gdx.jar。我将 gdx 源代码添加到核心模块并添加一些自定义方法到 SpriteBatch。

我这样修复 build.gradle:

project(":core") {
    apply plugin: "java"

    dependencies {
       //compile "com.badlogicgames.gdx:gdx:$gdxVersion"

        compile "com.badlogicgames.gdx:gdx-jnigen:$gdxVersion"
        compile "com.badlogicgames.gdx:gdx-box2d:$gdxVersion"
    }
}

桌面和ios都可以,但是android编译出错。

UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Lcom/badlogic/gdx/Application$ApplicationType;
        at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
        at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
        at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
        at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
        at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
        at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:502)
        at com.android.dx.command.dexer.Main.runMonoDex(Main.java:334)
        at com.android.dx.command.dexer.Main.run(Main.java:277)
        at com.android.dx.command.dexer.Main.main(Main.java:245)
        at com.android.dx.command.Main.main(Main.java:106)


:android:transformClassesWithDexForDebug FAILED

【问题讨论】:

  • 我只将gdx java源代码添加到我的项目中。

标签: gradle libgdx


【解决方案1】:

把它写在你的 app.gradle 中

defaultConfig {
    applicationId "com.xxx.you.app.package"
    minSdkVersion 11
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    //add this line
    multiDexEnabled = true
}

这个问题的原因是你项目中的 jars 冲突,这肯定会完成你的工作。 快乐编码..

【讨论】:

  • 但是我项目中的方法不超过64k。