在应用程序模块和库模块中包含相同的jar库

时间:2017-04-20 01:20:29

标签: android android-gradle

我有一个Android应用程序,它有一个主应用程序模块和一个库模块。主应用程序模块和库模块都依赖于外部jar库。构建

时出现以下错误
  

Dex:将字节码转换为dex时出错:       原因:com.android.dex.DexException:多个dex文件定义

据我所知,这是因为包含两次相同的罐子。如果没有重组项目只使用jar一次,我能做些什么。

1 个答案:

答案 0 :(得分:2)

问题

这种情况正在发生,因为您的应用依赖于库模块。因为库模块已经具有jar依赖性,所以您会收到此错误。

我会进一步解释。您有Module-AModule-BModule-C

Module-B取决于Module-C

Module-A取决于Module-BModule-C

但由于Module-B已取决于Module-C,因此您会遇到问题。

解决方案

使库模块成为jar的唯一依赖项。

换句话说,make Module-A取决于Module-B,无需依赖Module-C