Can not exclude files on Mac in packagingOptions of build.gradle

(Oleksandr Molodetskyi) #1

Hello, my issue looks stupid, but I did not find how to resolve it so far.
I have an error while running a small test application I am doing to learn Appium with Android Studio + Gradle on Mac(OS Sierra).

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
> Duplicate files copied in APK META-INF/spring.tooling
  	File1: /Users/alexander/.gradle/caches/modules-2/files-2.1/org.springframework/spring-context/4.3.2.RELEASE/e52782b824e097c3b1586b497fc6be0e95020770/spring-context-4.3.2.RELEASE.jar
  	File2: /Users/alexander/.gradle/caches/modules-2/files-2.1/org.springframework/spring-aop/4.3.2.RELEASE/caef216e995f565dd4ab165ec5918ff44487615d/spring-aop-4.3.2.RELEASE.jar
  	File3: /Users/alexander/.gradle/caches/modules-2/files-2.1/org.springframework/spring-beans/4.3.2.RELEASE/9e87f48f65a33a017f2dd027911947a28be29f93/spring-beans-4.3.2.RELEASE.jar

I googled how to fix this issue and found that I should make exclude in packagingOptions section of build.gradle. And I did it:

apply plugin: ‘’

android {

    compileSdkVersion 25
    buildToolsVersion "25.0.3"
    defaultConfig {
        applicationId "com.example.alexander.appiumtest"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner ""
    packagingOptions {
        exclude '/Users/alexander/.gradle/caches/modules-2/files-2.1/org.springframework/spring-context/4.3.2.RELEASE/e52782b824e097c3b1586b497fc6be0e95020770/spring-context-4.3.2.RELEASE.jar'
        exclude '/Users/alexander/.gradle/caches/modules-2/files-2.1/org.springframework/spring-aop/4.3.2.RELEASE/caef216e995f565dd4ab165ec5918ff44487615d/spring-aop-4.3.2.RELEASE.jar'
        exclude '/Users/alexander/.gradle/caches/modules-2/files-2.1/org.springframework/spring-beans/4.3.2.RELEASE/9e87f48f65a33a017f2dd027911947a28be29f93/spring-beans-4.3.2.RELEASE.jar'
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), ''

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('', {
        exclude group: '', module: 'support-annotations'
    compile ''
    compile ''
    compile group: 'io.appium', name: 'java-client', version: '4.1.2'
    compile group: 'junit', name: 'junit', version: '4.12'

    testCompile 'junit:junit:4.12'

But somehow I still have the same issue.
The interesting thing that in parallel I am doing the same on Windows and on Windows with the same error on running I fixed it by doing exclude in packagingOptions. But the same approach does not work on Mac.
I suspected that I used path to file in wrong way and tried different ways to write it in build.gradle: ‘\Users\alexander\…’, ‘//Users//alexander//…’, ‘\Users\alexander\…’, but it did not help.
Could anyone help me with this simple issue?