[已解決]重複文件導致無法打包apk

重複文件導致無法打包apk

在eclipes工程轉到Android studio下打開時,遇到了文件重複導致無法生成apk的問題。
先來看錯誤提示:

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: D:\AS workspace\code\app\libs\jackson-core-asl-1.9.7.jar
    File2: D:\AS workspace\code\app\libs\jackson-mapper-asl-1.9.7.jar

問題原因

在jar包jackson-core-asl-1.9.7.jar和jackson-mapper-asl-1.9.7.jar中,同時包含了一個LICENSE的文件,導致打包時因爲擔心相互覆蓋問題而提示出錯,如下圖所示:
這裏寫圖片描述

解決方法

在 app 下的 build.gradle 中的 android 部分增加一段配置:

packagingOptions {
    exclude 'META-INF/LICENSE'
}

同理,如果出現其他提示:

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/ASL2.0
    File1: D:\AS workspace\code\app\libs\jackson-core-asl-1.9.7.jar
    File2: D:\AS workspace\code\app\libs\jackson-mapper-asl-1.9.7.jar

只需要在packagingOptions中再添加上就可以解決:

packagingOptions {
        exclude 'META-INF/ASL2.0'
        exclude 'META-INF/LICENSE'
    }

參考鏈接:https://segmentfault.com/q/1010000002397220/a-1020000002397606

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章