在项目中难免接入很多第三方的功能,这其中就很容易出现jar包重复、重复编译的问题,jar包重复和重复编译的问题有很多解决办法。
问题的表现形式多为这些:
一、包重复导致的问题(常见第三方中引入了包而项目中再次引入了该包)
(1)问题表现形式一:
Error:Execution failed for task ':JQ_ELOVE:transformClassesWithDexForRelease'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'E:\Java\jdk1.7.0_71\bin\java.exe'' finished with non-zero exit value 2
网上给出的很多办法都是这样解决:
defaultConfig {
multiDexEnabled true
}
不能说这种方法不好,在我的问题中这种办法帮我找到了问题的根源,因为我设置了上述这个之后,出现了其他问题(v4包和第三方包的重复问题),这样具体的问题让我很方便找到了解决办法(当然如果重复包太多,也许上述方法可以更方便的解决问题?没有测试不清楚),其实并不是只有上述办法才可以找到具体的重复问题,比如我的重复包重复问题其实是这样的:在上述问题表现形式1的前面其实还分别伴有着这句话: