错误:"重复条目:android / support / v7 / appcompat / R $ anim.class"

时间:2016-04-19 19:54:47

标签: android android-gradle android-support-library android-library android-build

构建应用会生成以下错误:

Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/v7/appcompat/R$anim.class

我多次清理和建造项目无济于事。它的gradle构建中包含以下内容:

compile 'com.android.support:appcompat-v7:23.3.0'

它还通过其aar文件使用库。该库项目在其gradle构建中也具有上述内容。

有人可以提供有关如何解决此问题的提示吗?

1 个答案:

答案 0 :(得分:4)

是的,几天前遇到同样的问题

  

原因 - 正如您所说的“那个库项目在其gradle构建中也有上述内容”实际上系统无法理解哪个依赖项嗨将采取(应用程序 - 编译'com.android.support:appcompat-v7:23.3.0'或模块项目 - 编译'com.android.support:appcompat-v7:23.3.0'),以便嗨说你有<强>重复录入

如何解决 -

  

第1步 - 只需清理/构建项目。转到Build - &gt;清洁/建造项目。

     

第2步 - 在终端执行根项目文件夹./gradlew clean *

     

第3步 - 您必须从一个依赖项中排除您的组

compile('com.android.support:design:23.2.1') {
    exclude group: 'com.android.support', module: 'support-v7'
}
  

第4步 - 查看此Awsome答案https://stackoverflow.com/a/19022328/4741746

回答那对我有用的是 -

我只是从应用程序级别gradle中删除了1个依赖项,只是放在模块项目级别gradle中,并且还排除了动画类存在的support-v4

  compile 'com.android.support:appcompat-v7:23.2.1'
        compile('com.android.support:design:23.2.1') {
            exclude group: 'com.android.support', module: 'support-v4'
        }