transformClassesWithJarMergingForDebug錯誤原因以及解決方法
阿新 • • 發佈:2019-01-01
一、錯誤資訊:
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')的方式新增依賴。