Android studio报错Error:Execution failed for task
最近做基于android平台的人脸识别签到系统时,导入第三方的lib包后,android studio报错如下:
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/LICENSE
File1: E:\Workspaces\Swface\app\libs\httpcore-4.4.4.jar
File2: E:\Workspaces\Swface\app\libs\httpclient-4.5.2.jar
查阅资料后发现是因为jar包中META-INF目录下有重复内容加载,打开对应的jar包
果然两个jar包都有LICENSE,进一步点开发现里面内容完全一样,不过话说过来,旁边三个文件貌似也是重复的(只是没有在报错中明确提示),那就一并解决好了
既然知道了是因为重复加载文件导致的,解决那就是在编译时去除重复加载的文件,具体操作如下:
- 打开app\build.gradle文件
2.修改配置如下:
buildTypes {
......(省略部分代码)
//在这里加入如下代码
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/ASL2.0'
exclude 'META-INF/notice.txt'
}
}
``
3.ReBuild Project搞定