不能在build.gradle中排除重复的库依赖项

时间:2017-04-28 21:16:37

标签: android gradle android-gradle multidex

我正在使用多个Calendar库来为android提供演示应用程序。 包括Flexible CalendarCaldroid,都使用Infinite View Pager库,它会给我Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug',因为f是重复的类文件:

java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Lcom/antonyt/infiniteviewpager/InfinitePagerAdapter;


所以我启用了multidex,我试图从其中一个库中排除该库,但是我无法得到预期的结果。

我试过了:

compile ('com.p_v:flexiblecalendar:1.2.1'){
    exclude group: 'com.antonyt.infiniteviewpager', module: 'library'
}

和这个

compile ('com.p_v:flexiblecalendar:1.2.1'){
    exclude group: 'com.antonyt.infiniteviewpager'
}

和这个

compile ('com.p_v:flexiblecalendar:1.2.1'){
    exclude group: 'antonyt.infiniteviewpager'
}

但它不起作用。我仍然得到MultiDex错误 哪一个是正确的方法来实现这个?

1 个答案:

答案 0 :(得分:0)

无法使用,因为这些lib内部没有模块com.antonyt.infiniteviewpager

您可以检查每个库的build.gradle中的依赖项 您还可以在每个库中找到InfinitePagerAdapter的来源(选中link1link2)。

由于库似乎没有更新并且很容易构建,因此您可以在项目中下载其中一个作为本地模块,避免重复。