【问题标题】:Duplicate files copied in APK META-INF/LICENSE error showing while trying to run test case尝试运行测试用例时显示在 APK META-INF/LICENSE 错误中复制的重复文件
【发布时间】:2017-01-13 11:03:49
【问题描述】:

错误日志如下:

错误:任务执行失败 ':app:transformResourcesWithMergeJavaResForDebug'。 com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException:重复文件 在 APK META-INF/LICENSE File1 中复制: C:\Users\MYPC.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpmime\4.5\7bdb321e86724b16af6134a0fd22fec649eda971\httpmime-4.5.jar 文件2: C:\Users\MYPC.gradle\caches\modules-2\files-2.1\xerces\xercesImpl\2.11.0\9bb329db1cfc4e22462c9d6b43a8432f5850e92c\xercesImpl-2.11.0.jar 文件3: C:\Users\MYPC.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-annotations\2.6.0\a0990e2e812ac6639b6ce955c91b13228500476e\jackson-annotations-2.6.0.jar

我在下面使用的依赖项:

    apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.2"
    useLibrary  'org.apache.http.legacy'

    defaultConfig {
        applicationId "com.example.xyz.testauto"
        minSdkVersion 15
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    testOptions {
        unitTests.returnDefaultValues = true
    }

    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'

    }

}



     dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        testCompile 'junit:junit:4.12'
        compile 'com.android.support:appcompat-v7:24.2.0'
        compile 'junit:junit:4.12'
        compile 'io.appium:java-client:3.3.0'
        compile 'com.googlecode.json-simple:json-simple:1.1.1'
        compile 'commons-lang:commons-lang:2.6'
        compile 'com.google.code.gson:gson:2.5'
        compile 'com.testdroid:testdroid-api:2.9'
        testCompile 'org.mockito:mockito-core:1.10.19'

        compile 'com.google.dagger:dagger:2.4'
        annotationProcessor 'com.google.dagger:dagger-compiler:2.4'

        configurations {
            all*.exclude group: 'commons-logging', module: 'commons-logging'
        }

    }

如何消除此错误?

【问题讨论】:

标签: java android appium


【解决方案1】:

你应该在你的 build.gradle 部分添加这个

META-INF 目录被 Java 2 识别和解释 用于配置应用程序、扩展的平台;

 packagingOptions {
    exclude 'META-INF/DEPENDENCIES'
    exclude 'META-INF/NOTICE'
    exclude 'META-INF/LICENSE'

}

然后Clean-Rebuild-Run

【讨论】:

  • 我做到了,在问这个问题之前,它没有用。现在再次尝试仍然无法正常工作:(
  • 你添加httpmime-4.5.jar 了吗?
  • 我的依赖在上面,由于字数限制,这里无法添加
  • @AlImran 你可以在你的问题部分添加这个
  • 请全部添加完毕
猜你喜欢
  • 2017-12-08
  • 2017-05-25
  • 1970-01-01
  • 2017-02-09
  • 2016-08-10
  • 2017-01-29
  • 2023-03-08
  • 2016-12-27
  • 2017-11-14
相关资源
最近更新 更多