Gradle中的动态版本控制

时间:2017-04-07 23:41:56

标签: gradle android-gradle build.gradle

我正在尝试使用gradle中的动态版本作为我的应用程序,如gradle文档中所述。

但它没有按预期工作。

我的本​​地关系具有以下库版本。

<metadata>
<groupId>in.test</groupId>
<artifactId>test</artifactId>
<versioning>
<release>1.0.1</release>
<versions>
<version>0.0.2</version>
<version>0.0.3</version>
<version>0.0.7</version>
<version>0.0.8</version>
<version>0.0.9</version>
<version>0.0.10</version>
<version>1.0.0</version>
<version>1.0.1</version>
</versions>
<lastUpdated>20170407231704</lastUpdated>
</versioning>
</metadata>

但是当我尝试使用下面的动态版本时,它总是选择1.0.0而不是1.0.1。

compile group: "in.test", name: "test", version: "1.0.+"
PS:我读到使用动态版本不适合稳定版本,要知道它是如何工作的我正在尝试这个。

1 个答案:

答案 0 :(得分:0)

在阅读了gradle文档之后,我发现了依赖缓存。

https://docs.gradle.org/current/userguide/userguide_single.html#sec:controlling_caching

直到缓存过期时间,它从缓存中查找动态版本工件的最佳候选者。缓存过期后,它将在存储库中进行搜索。

如果我们告诉gradle对于动态版本,总是查找存储库而不是缓存,问题将得到解决。我用下面的脚本解决了这个问题。

configurations.all {
    resolutionStrategy.cacheDynamicVersionsFor 0, 'seconds'
}