個人アプリのいろいろなライブラリの更新をしていると、以下のようにespresso関係でエラーが出るようになってました。
Execution failed for task ':app:transformResourcesWithMergeJavaResForDebugAndroidTest'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/maven/com.google.guava/guava/pom.properties
File1: /Users/kazucocoa/Documents/github/SimpleSlackClient/app/build/intermediates/exploded-aar/com.android.support.test.espresso/espresso-web/2.2.1/jars/classes.jar
File2: /Users/kazucocoa/Documents/github/SimpleSlackClient/app/build/intermediates/exploded-aar/com.android.support.test.espresso/espresso-core/2.2.1/jars/classes.jar
Webでざっと調べると、以下を見つけることができました。
- http://openstackwiki.org/wiki/Espresso-Web_importieren_verursacht_duplicateFileException
- http://stackoverflow.com/questions/33800924/espresso-web-import-causes-duplicatefileexception
公式では、以下のcontribにはcoreが入っていると書かれているのでその場合はcoreは不要、とは書かれてれているのですが、これはよくわからなかったです。
com.android.support.test.espresso:espresso-contrib
ちなみに、以下のGradleサンプルでは大概のespressoに必要なものは入ってました。
https://google.github.io/android-testing-support-library/downloads/index.html
ひとまず、stackoverflowにあるように以下を packageOption に追加することでエラーを回避することができました。んーむ。
exclude 'META-INF/maven/com.google.guava/guava/pom.properties' exclude 'META-INF/maven/com.google.guava/guava/pom.xml'