mbmc
mbmc

Reputation: 5105

How to check what is the latest version of a dependency to use in gradle

I've always added dependencies like this:

dependencies {
    compile 'com.android.support:mediarouter-v7:19.+'
}

but in the recent versions of Android Studio, they recommend not to use the + as it can lead to errors. How to know what's the latest version? I can try every combination of 19.y.x until gradle complains, but what's the real way do check?

edit: sometimes, that page helps me figure it out.

Upvotes: 33

Views: 25443

Answers (8)

Omkar Marne
Omkar Marne

Reputation: 45

Recently, I have found this.

Go to File -> Project Structure

Select the Module, where you want to add the dependency.

Go to the Dependencies Tab

Click + and Choose Library Dependency

Choose whichever Library you need from the list.

(There is also an option for Search, never tried though.)

That's it.

Done.

Thank You.

Upvotes: 2

auspicious99
auspicious99

Reputation: 4311

If it is a dependency that comes from Google's maven repository, the best way these days is to go to https://maven.google.com , where google now lets you browse all their libraries and see all the versions available, including the latest version. It looks like this:

enter image description here

You can even do a search for a specific library, and then expand/collapse it as desired:

enter image description here

Upvotes: 0

Sahil Patel
Sahil Patel

Reputation: 734

I use these two links.

This link gives me the latest buildTools Version
https://developer.android.com/studio/releases/build-tools.html



This link gives me the latest supportLibraryVersion https://developer.android.com/topic/libraries/support-library/revisions.html

Upvotes: 1

Akhil Dad
Akhil Dad

Reputation: 1814

As already mentioned by some other answers you should not use + in dependencies because it may lead to unpredictable builds, so its always better if you first test your builds once a new update is available.

With android studio 2.2 and above Project Structure will show you the latest dependencies available.

  1. Activate it by going to Android Studio > Settings > Build, Execution, Deployment > Gradle > Experimental and check the Use new Project Structure dialog
  2. Then open it by going to File >Project Structure > Image showing updates dialogMessages

Original Answer

Upvotes: 5

user5772635
user5772635

Reputation:

the answer of ashoke is correct if you want the latest version.

But if you just want to replace "+" by the version you are currently using (therefor protection yourself against bug in future update)

eg:

 compile 'com.android.support:appcompat-v7:21.0.+'

to

 compile 'com.android.support:appcompat-v7:21.0.3'

(but not using 23.0.1)

this is the easiest way, no software needed:

run

$ ./gradlew clean tasks --debug > ~/whatever.txt

then look for "com.android.support:appcompat-v7:21.0."

a few line below you will see

"Using com.android.support:appcompat-v7:21.0.3 from Maven repository"

Upvotes: 0

Jintin
Jintin

Reputation: 1478

Avoid to use + in version declare.

You can try andle to check if dependency out of date, also the build tool version and sdk version.

Simple three step:

1. install:

    $ sudo pip install andle

2. set sdk:

    $ andle setsdk -p <sdk_path>

3. update depedency:

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

--dryrun: only print result in console

--remote: check version in jcenter and mavenCentral

Upvotes: 0

JBaruch
JBaruch

Reputation: 22893

Relying on latest version is indeed a dangerous thing to do. Your build can break without you changing anything, just because some library broke backwards compatibility.

The easiest way to know when new version of a library is out is to subscribe to new version notifications in Bintray.

Just click on the "Watch" button on the package page and you'll get an email every time new version is out. Then you'll be able to update the dependency, test it, and only then commit the build script with the new version.

Watch package in Bintray

Upvotes: 14

ashoke
ashoke

Reputation: 6461

There may be other ways, but here is what i use:

You can find out the latest version using Android Studio by replacing the version number of your library in build.gradle compile line, with just + , and click on Sync Now in upper right corner of the window.

in your case, for example

dependencies { compile 'com.android.support:mediarouter-v7:+' }

Android Studio will pop up a hint/bulb, which has options Replace with specific version you can click, which will fill-in the latest version in-place of +. Please see below screeshot:

android studio hint

If this doesn't work the first time, let gradle complete its sync, and retry (replace + with + or any file modification will do, click the sync now again and hint bulb will show up).

For example, for your library, i simply pasted this line compile 'com.android.support:mediarouter-v7:+' under my dependencies and followed the above process, Android Studio filled in with below version

.

Upvotes: 40

Related Questions