【发布时间】:2014-01-18 03:19:47
【问题描述】:
尝试在我的 Android 项目中包含 EasyMock 时,我在运行测试时收到以下错误。它试图将同一个 jar 打包两次。
Execution failed for task ':Example:packageDebugTest'.
> Duplicate files copied in APK META-INF/INDEX.LIST
File 1: /home/me/.gradle/caches/modules-2/files-2.1/org.easymock/easymock/3.2/c82f7fa3ef377d8954b1db25123944b5af2ba4/easymock-3.2.jar
File 2: /home/me/.gradle/caches/modules-2/files-2.1/org.easymock/easymock/3.2/c82f7fa3ef377d8954b1db25123944b5af2ba4/easymock-3.2.jar
我的 build.gradle 看起来像:
android {
...
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
exclude 'META-INF/license.txt'
}
...
}
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
instrumentTestCompile 'junit:junit:3.8.2+'
instrumentTestCompile('org.easymock:easymock:3.2'){
exclude group: 'junit', module: 'junit'
}
}
而且我认为排除 INDEX.LIST 并不是一个好主意,我想即使我这样做了,我也会得到 jar 中每个文件的重复项。
为什么要尝试添加两次EasyMock?我怎样才能阻止它这样做?
注意 - Android 环境:
Android-Studio0.4.0版Android Gradle Plugin0.7.1版Gradle1.9 版
【问题讨论】:
-
添加了两次easyMock很奇怪。我会调查的。我创建了一个错误来跟踪这个:code.google.com/p/android/issues/detail?id=64279
-
在解决此类错误时,请务必注意stackoverflow.com/a/30935051/4773561 中所说的内容!!!
-
在解决此类错误时,请务必注意stackoverflow.com/a/30935051/4773561 中所说的内容!!!
标签: java android dependencies gradle android-studio