默认情况下在库

时间:2017-07-31 03:34:55

标签: android gradle dependencies

我有一个多子模块项目,其中一些子模块依赖于其他子模块。

例如,对于子模块a,b,c和d,

b depends on a
c depends on b
d depends on a

因此,如果我有一个需要b,c和d的单独项目,它们各自的R类将保存模块a的资源副本。有没有办法以某种方式排除,所以用户没有重复的资源?各个资源的ID似乎在整个R类中保持一致,所以我不确定它们是否实际上是为每个子模块新生成的。

一种方法是使用@aar依赖项,但这会排除所有依赖项,包括那些不重复的依赖项。如果可能的话,我想避免让用户自己包含这些依赖项。

另一种方式似乎是使用provided而非compile,但这不适用于图书馆。

我知道的最后一种方法是让用户在其gradle文件中排除子依赖项,但如果可能,我还想尝试直接在库中管理它。

是否有任何建议,或者这是我不应该担心的事情?

我的实际库可以找到here,您可以看到子模块之间存在相当多的相互依赖关系。

快速搜索显示其中一个属性被添加了很多次:

enter image description here

0 个答案:

没有答案