如何检查Gradle依赖是否有新版本?

在Android Studio中,当我在版本号中使用+时,如:
com.android.support:recyclerview-v7:21.+ < br / > 我得到一个“避免在版本号中使用+”;警告。< / p >

但是当我使用特定的版本号时,我不能总是使用最新的版本。我的项目中有很多依赖项。

如何检查依赖项是否有更新的版本?

有一个Android Studio插件(或类似的东西)通知我,当有一个新的版本的依赖?

< p > 编辑: < br / > Android Studio突出了过时的Android支持库和谷歌播放服务。但这对其他自定义库不可用

Android Studio highlights

117269 次浏览

更新(05/23/18):

新版本的Android Studio不会在“项目结构”对话框中显示版本更新。相反,adam的答案是Android Studio 3+的正确答案

分析在“按名运行检查”;

然后搜索“;Newer Library Versions Available"

以前的方法:

Android Studio 2.2开始,一个新的Project Structure对话框显示了你的应用程序正在使用的来自本地和远程存储库的可用更新的依赖项列表。

  • 通过到Android Studio > Settings > Build, Execution, Deployment > Gradle > Experimental并检查Use new Project Structure dialog来激活它(谢谢@jessehensold)
  • 然后通过File > Project Structure > Messages打开它

enter image description here

对于旧版本的Android Studio,请参阅下面的其他回复。

对于支持库(com.android.support)依赖项,有一个更好的选项——andle

它还可以查询jcenter和maven center。

简单的三步,更新所有项目一次。

1. 安装:

    $ sudo pip install andle

2. 设置sdk:

    $ andle setsdk -p <sdk_path>

3.更新depedency:

    $ andle update -p <project_path> [--dryrun] [--remote] [--gradle]

——dryrun:只在控制台打印结果

——remote:检查jcenter和mavenCentral的版本

——gradle:检查gradle版本

更多信息请参见https://github.com/Jintin/andle

已弃用- __abc0为现代方式

我下面介绍的工具不能在新版本的Android Studio / Gradle上工作,它的作者不再维护它(截至2016年10月30日)。因此,应使用已接受的答案中提出的解决方案除非使用旧版本的Android Studio。


截至2016年1月,Android Studio有一个插件做了类似的事情,名为依赖项版本检查器,其源代码可以在GitHub上找到。

它可以通过内置接口添加(设置>插件>浏览库…):

What it looks like inside native interface

安装并重新启动后,界面出现如下选项卡:

重启后出现的新UI选项卡 < / >

相关的build.gradle应该被粘贴到VersionChecker面板的左侧,并按下版本检查按钮。结果是在右侧出现一个表,其中包括粘贴脚本中使用的库的最新版本(如上图所示)。

这现在是内置到Android Studio作为一个Lint检查。你可以在这里启用它:

>编辑器>检查>“可用的较新的库版本”

本次检查说明:

可用的较新的库版本

此检测器检查中央存储库,以查看此项目使用的依赖项是否有更新的可用版本。这类似于GradleDependency检查,它检查Android SDK工具和库中可用的更新版本,但这适用于任何MavenCentral依赖项,并且每次都连接到库,这使得它更灵活,但也会减慢

因为这会导致速度减慢,我建议定期手动运行它,而不是一直开着。你可以这样做:

分析>“按名称运行巡检”

然后搜索“可用的更新库版本”,并在您的模块上运行它。

编辑:上述应该只工作在Android Studio 2.3。如果您使用的是旧版本(您应该更新),以下内容可能会有所帮助:

请注意,似乎你必须启用检查才能手动运行它-所以(Android Studio 2.0 Beta 2)你需要在设置中找到检查,启用它,然后按名称运行它,然后再次禁用它(以恢复以前的性能)。

除了Android Studio的内置功能,还有一个很好的gradle插件Gradle版本插件,它完全可以做你想要的,好处是简单的gradle扩展,这意味着不绑定到任何IDE -只是纯粹的gradle的东西。

Gradle Versions Plugin可以创建人类可读的纯文本形式的报告,但也可以将其转储为JSON或XML,这对于自动化/脚本化处理非常有用。

用法非常简单。一旦添加到你的gradle文件,你只需要做:

$ ./gradlew dependencyUpdates

它应该会产生这样的项目依赖报告:

------------------------------------------------------------
: Project Dependency Updates (report to plain text file)
------------------------------------------------------------


The following dependencies are using the latest milestone version:
- com.github.maksim88:PasswordEditText:v0.9
- com.marcinorlowski:webnet-log:1.0.3
- com.nulab-inc:zxcvbn:1.2.2


The following dependencies exceed the version found at the milestone revision level:
- com.hannesdorfmann.fragmentargs:annotation [4.0.0-SNAPSHOT <- 3.0.2]
- com.hannesdorfmann.fragmentargs:bundler-parceler [4.0.0-SNAPSHOT <- 3.0.2]
- com.github.bumptech.glide:glide [3.7.0 <- 3.6.1]
- com.hannesdorfmann.fragmentargs:processor [4.0.0-SNAPSHOT <- 3.0.2]


The following dependencies have later milestone versions:
- com.github.PhilJay:MPAndroidChart [v2.2.5 -> v3.0.1]
- com.android.support:appcompat-v7 [25.1.0 -> 25.1.1]
- com.jakewharton:butterknife [8.4.0 -> 8.5.1]


Generated report file build/dependencyUpdates\report.txt

参见文档获得更多的用法示例。

要更新或推荐您的项目依赖项应该与android项目相同

FILE -> Project Structure -> MODULES(app) -> Dependencies
当你到达依赖项选项卡时,单击位于窗口右上角的+按钮。 当你点击+选择Library Dependency时,它会在搜索框中打开Choose Library Dependency搜索你的依赖项的新窗口,所有列出的Android依赖项都会更新

我正在处理同样的问题,并尝试了答案https://stackoverflow.com/a/35371234/6412430

我在Android Studio 3.4.1中真正管用的是:

File -> Project Structure -> Dependencies

一旦你达到了这一点,你的项目或模块中包含的所有依赖项都将被列出。那些过时的将被强调,当你选择一个,它的细节将显示给你更新变量(如果你已经从声明中分离出来)或依赖项的选项。

有点晚了,但这对我有用。

参见文件>项目结构,然后点击“建议”。我知道,这个解决方案是由Hemant Sharma和Jeremías Gersicich提出的,但Android Studio在3.4.1版本中已经改变了它。

enter image description here

它在大多数情况下都有帮助,但有时库改变它们的id(路径)。所以你有时应该访问他们的网站,看看为什么这些库没有更新这么长时间。然后手动更新。

Go to Android Studio >偏好→插件(Mac)和文件->设置→插件(适用于windows)并搜索“检查依赖更新插件”。 安装并重新启动android studio。你可以在右边看到Dependencies选项卡,它会显示是否有任何依赖项有新的更新可用

enter image description here

你可以使用Gradle refreshVersions。它生成一个java属性文件,告诉你可用的版本,并允许你在所有依赖实例中更改版本号。因此,只有在需要更改依赖项的版本时才编辑此文件。

java属性文件,versions。属性,看起来像