如何设置android gradle项目对不同版本库的依赖?

时间:2016-02-03 13:00:45

标签: android gradle android-gradle

我有一个小的日志库,它发布到jcenter。我需要有两个版本的库 - 调试和发布。为此,我找到了标记publishNonDefault true并推送了新版本的库。

设置标志之前存储库中文件的结构: 1.2.4 设置标志后存储库中文件的结构: 1.3.1

现在是 dependencies { compile 'me.shikhov:wlog:1.3.1' }

给我错误

Error:A problem occurred configuring project ':Project'.
 Could not find wlog.jar (me.shikhov:wlog:1.3.1).
   Searched in the following locations:
      https://jcenter.bintray.com/me/shikhov/wlog/1.3.1/wlog-1.3.1.jar

我找到了本地依赖的语法,例如:

debugCompile project(path: ':myLocalLibrary', configuration: 'debug')

releaseCompile project(path: ':myLocalLibrary', configuration: 'debug')

如何设置远程库依赖?

1 个答案:

答案 0 :(得分:1)

工件名称中版本之后的额外字符串是分类器。

  

分类器允许区分构建的工件   相同的POM但内容不同。这是一些可选的   任意字符串 - 如果存在 - 附加到工件名称   就在版本号之后。作为这个元素的动力,   例如,考虑提供针对JRE的工件的项目   1.5但同时也是一个仍支持JRE 1.4的工件。第一个工件可以配备分类器jdk15和   第二个使用jdk14,客户可以选择使用哪个。

     

分类器的另一个常见用例是需要附加   二次工件到项目的主要工件。如果你浏览了   Maven中央存储库,你会注意到分类器的来源   和javadoc用于部署项目源代码和API文档   以及打包的类文件。

来自here

Gradle依赖声明采用以下形式:

[organisation]:[module]:[revision]:[classifier]@[ext]

因此您应该将依赖项用作:

compile 'me.shikhov:wlog:1.3.1:release@aar'