我的Android进阶之旅------>解决:Execution failed for task ':app:transformResourcesWithMergeJav

Posted gavanwanggw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的Android进阶之旅------>解决:Execution failed for task ':app:transformResourcesWithMergeJav相关的知识,希望对你有一定的参考价值。

错误描写叙述

今天在android Studio项目中添加了jackson的开发包,编译执行时候。引发了例如以下的错误:

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/NOTICE
    File1: D:\Code\XTCKuwoWatch\app\libs\jackson-core-2.4.4.jar
    File2: D:\Code\XTCKuwoWatch\app\libs\jackson-databind-2.4.4.jar

错误截图例如以下所看到的:

技术分享


解决的方法

看起来是由于多个 jar 包里包括了相同的文件(NOTICE.txt)。导致打包时由于操心相互覆盖问题而提示出错。 尝试下在 app 下的 build.gradle 中的 android 部分添加一段配置。如以下这段代码所看到的:

packagingOptions {
        exclude ‘META-INF/LICENSE‘
        exclude ‘META-INF/NOTICE‘
    }
  • 没改动前的build.gradle文件
apply plugin: ‘com.android.application‘


android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "com.oyp.csdn"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘
        }
    }
}

dependencies {
    compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
}

  • 改动后的build.gradle文件
apply plugin: ‘com.android.application‘


android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    packagingOptions {
        exclude ‘META-INF/LICENSE‘
        exclude ‘META-INF/NOTICE‘
    }

    defaultConfig {
        applicationId "com.oyp.csdn"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘
        }
    }
}

dependencies {
    compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
}
作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!
转载请保留原文地址:http://blog.csdn.net/ouyang_peng

技术分享

以上是关于我的Android进阶之旅------>解决:Execution failed for task ':app:transformResourcesWithMergeJav的主要内容,如果未能解决你的问题,请参考以下文章

我的Android进阶之旅------>怎样将Activity变为半透明的对话框?

我的Android进阶之旅------>Android中android:windowSoftInputMode的使用方法

我的Android进阶之旅------>Android关于Log的一个简单封装

我的Android进阶之旅------>Android嵌入图像InsetDrawable的使用方法

我的Android进阶之旅------>android中getLocationInWindow 和 getLocationOnScreen的差别

我的Android进阶之旅------>解决:Execution failed for task ':app:transformResourcesWithMergeJav