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

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

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

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

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


当前回答

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

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

本次检查说明:

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

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

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

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

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

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

其他回答

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

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

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

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

除了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

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

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

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

File -> Project Structure -> Dependencies

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

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