How to check if gradle dependency has new version

See File > Project Structure, then click "Suggestions". I know, this solution was suggested by Hemant Sharma and Jeremías Gersicich, but Android Studio has changed it in 3.4.1 version.

enter image description here

It will help in most cases, but sometimes libraries change their ids (paths). So you should sometimes visit their sites and see why these libraries didn't update so long. Then update manually.


UPDATE (05/23/18):

The newer version of Android Studio does not show version updates in the Project Structure dialog. Instead, Adam-s answer is the correct one for Android Studio 3+

Analyze > "Run Inspection By Name"

Then search for "Newer Library Versions Available"

PREVIOUS WAY:

As of Android Studio 2.2, a new Project Structure dialog shows the list of dependencies your app is using with the available updates from local AND remote repositories as well.

  • Activate it by going to Android Studio > Settings > Build, Execution, Deployment > Gradle > Experimental and check the Use new Project Structure dialog (Thanks @jessehensold)
  • Then open it by going to File > Project Structure > Messages

enter image description here

For older version of Android Studio, see other responses below.


Aside from the Android Studio's built-in feature, there's nice gradle plugin called Gradle Versions Plugin that does exactly what you want, with the benefit of being plain gradle extension, which means being NOT bond to any IDE - just pure Gradle thing.

Gradle Versions Plugin can create reports in human readable plain text form, but can also dump it as JSON or XML which is pretty useful for automated/scripted processing.

Usage is pretty simple. Once added to your gradle file, you just do:

$ ./gradlew dependencyUpdates

and it should produce project dependency report that looks like this:

------------------------------------------------------------
: 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

See docs for extensive usage examples.


This is now built-in to Android Studio as a Lint check. You can enable it here:

Settings > Editor > Inspections > "Newer Library Versions Available"

The description for this inspection:

Newer Library Versions Available

This detector checks with a central repository to see if there are newer versions available for the dependencies used by this project. This is similar to the GradleDependency check, which checks for newer versions available in the Android SDK tools and libraries, but this works with any MavenCentral dependency, and connects to the library every time, which makes it more flexible but also much slower.

Because of the slowdown this can introduce I'd recommend running it manually periodically, rather than having it always on. You can do this by:

Analyze > "Run Inspection By Name"

Then search for "Newer Library Versions Available", and run it on your module.

Edit: The above should just work as of Android Studio 2.3. If you're on an old version (you should update) the following may help:

Note that it appears you must have the inspection enabled in order to run it manually - so (as of Android Studio 2.0 Beta 2) you need to find the inspection in settings, enable it, then run it by name, then disable it again (to regain previous performance).