如何防止Android Archive Library中的重复依赖

时间:2017-01-14 14:34:06

标签: java android jar duplicates aar

我知道这里可能有很多资源但是它们似乎没有直接解决我的问题,所以在这里我去了

我认为android库是独立的实体,因此一个库的内容不应该影响另一个库的操作。这就是为什么我们有命名空间和包装命名,但男孩我错了。

我有两个我导入到我的android项目的aar文件。 aar文件即A和B位于我的libs文件夹中,并被添加到gradle中

compile (name: 'A', ext: 'aar);
compile (name: 'B', ext: 'aar);

所有人都是花花公子,直到我试图建立我的项目,然后一切都下地狱。

图书馆A有一个结构

android.fpi
        MtGpio.class

图书馆B也是如此

android.fpi
         MtGpio.class

理想情况下,它们是完全不同的库,如果它们碰巧有类似的文件或结构,那么这不应该是一个问题。但事实是,我受到了打击:

app:transformClassesWithJarMergingForDebug
com.................................ZipException: duplicate entry: android/fpi/MtGpio.class

我已经采用了各种解决方案,我已经在SO上阅读了,但在这里,我仍然在寻找一种有效的解决方案。

我尝试了什么?

  1. MultiDexEnable true;

  2. 虽然将第二个aar库添加到grable文件中,但我尝试将该类排除在下面,但仍然会出现同样的错误。

     compile (name: 'B', ext: 'aar'){
         exclude group: 'com.android.fpi', module: 'MtGpio'
      }
    
  3. 其他几个主要与support-v4 yada yada有关的解决方案

  4. 现在我转向这里的android virtuosos寻求帮助。提前谢谢。

1 个答案:

答案 0 :(得分:0)

也许你会在Resolved versions for app (22.0.0) and test app (21.0.3) differ

中帮助解答

尝试设置

configurations.all {
  resolutionStrategy {
    force (name: 'A', ext: 'aar')
  }
}

之前dependencies