Java MPAndroidChart
在我的项目中,使用库。当我同时添加库MPchart时,我得到了这个错误,并且不明白出了什么问题。多谢各位Java MPAndroidChart,java,android,mpandroidchart,Java,Android,Mpandroidchart,在我的项目中,使用库。当我同时添加库MPchart时,我得到了这个错误,并且不明白出了什么问题。多谢各位 UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define Lcom/nineoldandroids/animation/Animator$AnimatorListener; at com.android.dx.merge.DexMerger.readSortableT
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Lcom/nineoldandroids/animation/Animator$AnimatorListener;
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:454)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)
at com.android.dx.command.dexer.Main.run(Main.java:246)
at com.android.dx.command.dexer.Main.main(Main.java:215)
at com.android.dx.command.Main.main(Main.java:106)
材料设计库的build.gradle:
dependencies {
compile 'com.nineoldandroids:library:2.4.+'
compile 'com.android.support:support-v4:21.0.3'
}
以及项目的build.gradle:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:support-v4:21.0.3'
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.android.support:recyclerview-v7:21.0.0'
compile 'com.nineoldandroids:library:2.4.+'
compile project(":MaterialDesign")
compile project(":MPChartLib")
compile files('libs/opencsv-2.4.jar')
}.
如果我去掉依赖性,我会得到其他错误。
我能做什么?您似乎在
MPChartLib
和您的项目中声明了一个依赖项com.ninealdroids:library:2.4.+
。这就是问题的根源
尝试从项目中删除依赖项,但将其保留在MPChartLib中,以便dextool只看到它一次。您的新build.gradle将如下所示:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.android.support:recyclerview-v7:21.0.0'
compile project(":MaterialDesign")
compile project(":MPChartLib")
compile files('libs/opencsv-2.4.jar')
}
对Android支持库也要这样做。应该只声明一次,否则会出现类似的错误。这意味着您有两个库共享相同的依赖项(
Animator.class
),并且您正在导入这两个库。检查要添加到项目中的JAR文件和渐变依赖项,确保定义Animator
的文件只包含一次。这应该是正确答案。MPAndroidChart使用NineoldRoids库以及项目中的其他库。正如我在第一篇文章中所说,该库'com.nineoldRoids:library:2.4.+'代码>也用于材料设计
。如果删除项目中的依赖项,则不会改变任何内容,因为Material Design和MPChartLib
使用'com.nineodeldroids:library:2.4.+'。您还有其他建议吗?关于MPAndroidChart,您可以做的是克隆存储库,而不是使用.jar文件,并从库依赖项中删除NineodRoid。然后将MPAndroidChart库添加到项目中。