如何将Gradle依赖项更新到其最新版本

时间:2015-02-16 10:02:36

标签: android android-studio gradle android-build android-package-managers

是否有一种简单的方法可以让gradle更新其最新版本的依赖项?

对于构建再现性,我的build.gradle文件中的所有依赖项都使用这样的版本号定义:

dependencies {
    compile 'namespace:package1:version'
    compile 'namespace:package2:version'
    compile 'namespace:package3:version'
}

我想定期将每个包更新到最新版本。通常,这是我在发布新版本后进行新sprint时所做的第一件事。

对于每个包,手动执行此操作真的很痛苦。理想情况下,我想要一个命令为我更新build.gradle文件,但至少是一个命令,打印出哪个包需要更新以及最新的版本号是什么。

在红宝石土地上,我会运行更新。

4 个答案:

答案 0 :(得分:19)

这就是我能想到的。如果手动方法较少,我会很乐意接受另一个答案。

  1. 在Android工作室中,我使用加号示例替换每个依赖项版本:compile 'namespace:package1:+'

  2. 同步或构建项目,这将导致所有依赖项都被解析为最新版本。

  3. 在Android Studio中,将光标放在build.gradle中的每个相关性行上,然后按 alt + enter 弹出一个菜单,您可以选择替换为特定版本

答案 1 :(得分:6)

这不是一个很好的做法,因为库可能包含可能会破坏您的代码的更改。

一种普遍的容忍"

的语法
compile 'namespace:package:major_version.minor_version.revision'

就像

compile 'namespace:package:1.0.+'

考虑版本被库作者用作错误修复和改进更新

注意: 我刚刚那样做了你可以做到

compile 'namespace:package:+'

编辑:
Proof Of Concept latest comment您可能需要测试。{ 这是在5分钟内完成的,所以不要期望它完美也不灵活。

答案 2 :(得分:4)

添加到build.gradle

plugins {
  id 'com.github.ben-manes.versions' version '0.17.0'
}

然后,您可以gradle dependencyUpdates获取新版本的报告。与同名的Maven插件不同,似乎没有办法自动更新build.gradle

更多文档:https://github.com/ben-manes/gradle-versions-plugin

答案 3 :(得分:1)

我也受苦了。检查依赖关系的最佳方法,即使是手动,也是通过项目结构并搜索依赖项名称,看看是否有更新的版本。

此查询仅检查Maven存储库中存在的依赖项的问题。至少它已经适用于谷歌。

enter image description here

enter image description here

enter image description here

注意:如果您选择使用新版本添加依赖项,这将在App Gradle中添加一个双重性,因此请务必删除旧的依赖行。

另一种可能的快速解决方法是通过命令行:

./gradlew app: dependencies

这将生成如下所示的输出。请注意,星号指向可能的新现有版本。

enter image description here