intellij IDEA 多个 dex 文件错误

intellij IDEA multiple dex files error

我在 windows 10 上安装了 IDEA 15.0.2,并安装了 java 1.8。 android sdk API 是版本 19.

我的项目中有两个模块:

 project
    +---plugin-unity
    +---unity-ads
       +--- libs/unityads.jar

模块 unity-ads 在 libs/ 文件夹中有一个 unityads.jar。我使模块 unity-ads 依赖于 unityads.jar 并且模块 plugin-unity 依赖于模块 unity-ads

我在做项目的时候出现如下错误:

Error:Android Dex: [plugin-unity] Unable to execute DX Error:Android Dex: [plugin-unity] com.android.dex.DexException: Multiple dex files define Lcom/unity3d/ads/android/BuildConfig; Error:Android Dex: [plugin-unity] at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:579) Error:Android Dex: [plugin-unity] at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:535) Error:Android Dex: [plugin-unity] at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:517) Error:Android Dex: [plugin-unity] at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:164) Error:Android Dex: [plugin-unity] at com.android.dx.merge.DexMerger.merge(DexMerger.java:188) Error:Android Dex: [plugin-unity] at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:504)

请问Intellij IDEA有什么问题?我多次遇到这些问题。

感谢您的帮助。

编辑:

The solution:
    Because the module unity-ads has the same package name 
    com.unity3d.ads.android that exists in libs/unityads.jar too.
    The IDEA will automatic produce the BuildConfig that conflicts with that in libs/unityads.jar.
    Therefore, I delete the BuildConfig from the libs/unityads.jar, and then every thing is ok.

问题是您试图从不同的 jar 文件添加相同的 class。尝试找出哪个 class 在 jar 文件之间重叠并将其从构建中删除。