关于android:如何将Gradle依赖项更新到最新版本

How to update Gradle dependencies to their latest version

有没有一种简便的方法可以让依赖关系更新到其最新可用版本?

为了提高构建的可复制性,我的所有依赖项都在build.gradle文件中定义了这样的版本号:

1
2
3
4
5
dependencies {
    compile 'namespace:package1:version'
    compile 'namespace:package2:version'
    compile 'namespace:package3:version'
}

我会定期将每个软件包更新为最新版本。 通常,这是发布新版本后我要做的第一件事。

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

在红宝石土地上,我将运行捆绑更新。


这就是我所能想到的。如果没有那么手动的方法,我会很乐意接受另一个答案。

  • 在Android Studio中,我用加号示例替换每个依赖项版本:compile 'namespace:package1:+'

  • 同步或构建项目,这将使所有依赖项解析为最新版本。

  • 在Android Studio中,将光标放在build.gradle中的每个依赖项行上,然后按alt +进入弹出菜单,您可以选择"替换为特定版本"


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

    常见的"容忍"语法

    1
    compile 'namespace:package:major_version.minor_version.revision'

    就像

    1
    compile 'namespace:package:1.0.+'

    考虑到修订版被库作者用作漏洞修复和改进更新

    注意:
    我就是那样做的,你可以做

    1
    compile 'namespace:package:+'

    编辑:
    您可能想测试的最新评论的概念证明。
    这是在5分钟内完成的,因此不要指望它是完美的也不是灵活的。


    添加到build.gradle

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

    然后,您可以执行gradle dependencyUpdates以获得新版本的报告。与同名的Maven插件不同,似乎还没有一种自动更新build.gradle的方法。

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


    我也受苦。检查依赖项的最佳方法(甚至是手动检查)的最佳方法是遍历Project Structure并搜索依赖项名称,然后查看是否有更新的版本。

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

    enter image description here

    enter image description here

    enter image description here

    注意:如果您选择在新版本中添加依赖项,则这将在您的应用程序Gradle中添加重复项,因此请确保删除旧的依赖项行。

    另一个可能的快速修复是通过命令行:

    1
    ./gradlew app: dependencies

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

    enter image description here