今天开发Android项目时,导入了http有关架包后,程序编译报错如下:
1 Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'. 2 > com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/LICENSE 3 File1: G:AndroidLRWebServiceapplibshttpcore-4.4.1.jar 4 File2: G:AndroidLRWebServiceapplibshttpclient-4.4.1.jar
报错信息截图如下:
观察错误提示后得到错误原因:
因为多个 jar 包里包含了同样的文件(LICENSE.txt),导致打包时因为担心相互覆盖问题而提示出错。
尝试下在 app 下的 build.gradle 中的 android 部分增加一段配置,如下面这段代码所示:
1 packagingOptions { 2 exclude 'META-INF/LICENSE' 3 exclude 'META-INF/DEPENDENCIES' 4 }
具体加的位置如图所示位置:
重新编译后,启动成功!