今天開發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:\Android\LRWebService\app\libs\httpcore-4.4.1.jar 4 File2: G:\Android\LRWebService\app\libs\httpclient-4.4.1.jar
報錯信息截圖如下:
觀察錯誤提示后得到錯誤原因:
因為多個 jar 包里包含了同樣的文件(LICENSE.txt),導致打包時因為擔心相互覆蓋問題而提示出錯。
嘗試下在 app 下的 build.gradle 中的 android 部分增加一段配置,如下面這段代碼所示:
1 packagingOptions { 2 exclude 'META-INF/LICENSE' 3 exclude 'META-INF/DEPENDENCIES' 4 }
具體加的位置如圖所示位置:
重新編譯后,啟動成功!