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

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

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

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

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


当前回答

我尝试了不同的图书馆,但没有找到一个我喜欢的。有些要求您迁移代码,有些要求通过命令行运行。所以我做了一个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"
}

其他回答

更新(05/23/18):

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

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

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

以前的方法:

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

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

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

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

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

File -> Project Structure -> Dependencies

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

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

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

FILE -> Project Structure -> MODULES(app) -> Dependencies

当您到达依赖项选项卡时,单击位于窗口右上角的+按钮。 当你点击+选择库依赖时,它会在搜索框中打开选择库依赖搜索你的依赖的新窗口,所有列出的Android依赖都会更新。

进入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