Android:如何解决图书馆依赖冲突

时间:2015-06-12 07:45:52

标签: android gradle

我正在开发一个Android库。图书馆几乎没有依赖性。我不确定如果开发人员将我的库与我库中已存在的其他依赖项一起使用会发生什么。我试图在谷歌上搜索但无法找到任何东西。

例如,我在我的库中使用版本X的Volley Library并将其作为gradle包发送。开发人员使用版本Y和我的库导入Volley。

在库(模块,jar或包)中包含依赖项的最佳方法应该是什么,以便最大限度地减少冲突情况。

2 个答案:

答案 0 :(得分:2)

两个选项

  1. 在其中包含依赖项依赖项的可能方法是创建一个fat / uber / share jar(有Gradle插件)。使用自定义类加载器使用One-Jar在jar中加载jar。或者使用Jar Jar Links
  2. 第二个选项是具体exclude transistive dependencies

    compile('X') {
        exclude module: 'Y'
    }
    

答案 1 :(得分:0)

您将指定用户以排除其他库。 我的gradle示例

compile('com.mobprofs:retrofit-simplexmlconverter:1.1') {
    exclude module: 'stax'
    exclude module: 'stax-api'
    exclude module: 'xpp3'
}

一般来说,如果用户有冲突,他就会知道gradle如何工作,他将能够添加eclude libs

相关问题