Error:Execution Failed for task ‘:app:transformResourcesWithMergeJavaResForDebug’.
com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK Meta-INF/maven/commons-io/commons-io/pom.xml
File1: /home/colin/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-io/1.3.2/b6dde38349ba9bb5e6ea6320531eae969985dae5/commons-io-1.3.2.jar
File2: /home/colin/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/1.3.2/b6dde38349ba9bb5e6ea6320531eae969985dae5/commons-io-1.3.2.jar
我弄完了
packagingOptions { exclude 'Meta-INF/DEPENDENCIES' exclude 'Meta-INF/LICENSE' exclude 'Meta-INF/LICENSE.txt' exclude 'Meta-INF/license.txt' exclude 'Meta-INF/NOTICE' exclude 'Meta-INF/NOTICE.txt' exclude 'Meta-INF/notice.txt' exclude 'Meta-INF/ASL2.0' }
在应用程序中> build.gradle文件,但问题仍然存在.是否有其他地方我应该放这个,或者只是删除一些文件?或者我可能已经排除了太多文件 – 我是否应该省略其中的一些行,如果是这样的话?我也尝试将依赖项移到顶部,在Android之上无济于事.
此外,我对这些帖子中给出的一些建议感到有些困惑. Exclude和PickFirst之间的操作区别是什么?它们似乎是可以互换的,但表达了截然不同的想法.在上传到应用程序商店时,似乎我需要包含许可证,所以如果我将其排除在这里以便让应用程序进行编译,那么在我准备上传时,我将在哪里包含它?我希望有人能够更多地了解这里发生的事情.
解决方法
exclude 'Meta-INF/maven/commons-io/commons-io/pom.xml' exclude 'Meta-INF/maven/commons-io/commons-io/pom.properties'
我的问题非常愚蠢;当包括排除’Meta-INF / maven / commons-io / commons-io / pom.xml’时,我得到的错误看起来与第一个非常相似,但实际上是不同的.添加排除’Meta-INF / maven / commons-io / commons-io / pom.properties’终于让一切正常.仍然不确定为什么我必须采取这些步骤.