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

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

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

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

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


当前回答

除了Android Studio的内置功能外,还有一个很好的gradle插件,叫做gradle Versions plugin,它完全可以满足你的需要,它的好处是简单的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

请参阅文档以获得更多的用法示例。

其他回答

更新(05/23/18):

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

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

然后搜索“可用的较新的库版本”

以前的方法:

从Android Studio 2.2开始,一个新的项目结构对话框会显示你的应用正在使用的依赖项列表,以及来自本地和远程存储库的可用更新。

通过到Android Studio >设置>构建,执行,部署> Gradle >实验来激活它,并检查使用新的项目结构对话框(感谢@jessehensold) 然后打开文件>项目结构>消息

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

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

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

我尝试了不同的图书馆,但没有找到一个我喜欢的。有些要求您迁移代码,有些要求通过命令行运行。所以我做了一个Gradle插件,可以给评论添加更新。尽量减少代码的修改。 https://github.com/zeroarst/dependency-updates-commenter

例子:

之前

object Junit {
    const val junit = "junit:junit:4.12"
}

import io.github.zeroarst.dependencyupdatescommenter.CommentUpdates

object Junit {
    // Available versions:
    // 4.13-rc-2
    // 4.13-rc-1
    // 4.13-beta-3
    // 4.13-beta-2
    // 4.13-beta-1
    @CommentUpdates
    const val junit = "junit:junit:4.12"
}

进入Android Studio -> Preferences -> Plugins (Mac版)和File -> Settings -> Plugins (windows版),搜索“Check for Dependency updates plugin”。 安装并重新启动android studio。您将能够看到右侧的Dependencies选项卡,它将显示是否有任何依赖项有新的更新可用。

对于支持库(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