1. 程式人生 > >transformClassesWithJarMergingForDebug錯誤原因以及解決方法

transformClassesWithJarMergingForDebug錯誤原因以及解決方法

一、錯誤資訊:

Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: base64decoder.class

二、錯誤原因

由於專案中使用了多個module,同時引用了該jar包,導致該問題發生,但是該問題只在5.0以下手機出問題,6.0的手機測試時沒有問題

三、解決方法

compile
compile是對所有的build type都會參與編譯並且打包到最終的apk檔案中。

Provided
Provided是對所有的build type只在編譯時使用,類似eclipse中的external-libs,只參與編譯,不打包到最終apk。

所以需要只在其中一個module使用compile files('libs/sun.misc.base64decoder.jar')的方式新增依賴,將其他module的compile fileTree(include: ['*.jar'], dir: 'libs')註釋掉,並使用

provided files('libs/sun.misc.base64decoder.jar')的方式新增依賴。