Как проверить, имеет ли зависимость gradle новая версия

В Android Studio, когда я использую + в номере версии (например, com.android.support:recyclerview-v7:21.+), я получаю предупреждение "Избегайте использования + в номерах версий". Когда я использую конкретный номер версии, я не всегда могу использовать последнюю версию. У меня много зависимостей в моем проекте. Как проверить, имеет ли зависимость более новую версию? Есть ли плагин Android Studio или что-то в этом роде, чтобы уведомить меня, когда есть более новая версия зависимости?

Edit: Студия Android выделяет устаревшие библиотеки поддержки Android и сервисы Google Play. Но это не доступно для других пользовательских библиотек.

enter image description here

Ответ 1

Теперь это встроено в Android Studio в качестве проверки Lint. Вы можете включить его здесь:

Настройки > Редактоp > Инспекции > Доступны новые версии библиотек

Описание для этой проверки:

Доступны новые версии библиотеки

Этот детектор проверяет с помощью центрального репозитория, чтобы узнать, имеются ли новые версии для зависимостей, используемых этим проектом. Это похоже на проверку GradleDependency, которая проверяет наличие новых версий в инструментах и ​​библиотеках Android SDK, но это работает с любой зависимостью MavenCentral и каждый раз подключается к библиотеке, что делает ее более гибкой, а также /strong > медленнее.

Из-за замедления это может привести к тому, что я рекомендую запускать его вручную периодически, а не всегда. Вы можете сделать это:

Анализ > "Запуск проверки по имени"

Затем найдите "Доступные новые версии библиотек" и запустите его на своем модуле.

Изменить. Вышеупомянутое должно работать только с Android Studio 2.3. Если вы используете старую версию (вы должны ее обновить), это может помочь:

Обратите внимание, что, похоже, вы должны включить проверку для ее запуска вручную - поэтому (с Android 2.0 Beta 2) вам нужно найти инспекцию в настройках, включить ее, затем запустить ее по имени, а затем отключить он снова (для восстановления предыдущей производительности).

Ответ 2

ОБНОВЛЕНИЕ (23.05.18):

Более новая версия Android Studio не отображает обновления версий в диалоговом окне "Структура проекта". Вместо этого ответ Адама является правильным для Android Studio 3+

Анализ> "Выполнить проверку по имени"

Затем найдите " Newer Library Versions Available "

ПРЕДЫДУЩИЙ ПУТЬ:

Начиная с Android Studio 2.2, в новом диалоговом окне " Project Structure " отображается список зависимостей, используемых вашим приложением, с доступными обновлениями из локальных И удаленных репозиториев.

  • Активируйте его, перейдя в Android Studio > Settings > Build, Execution, Deployment > Gradle > Experimental и проверьте Use new Project Structure dialog " Use new Project Structure dialog (спасибо, @jessehensold).
  • Затем откройте его, выбрав File > Project Structure > Messages

enter image description here

Для более старой версии Android Studio см. Другие ответы ниже.

Ответ 3

Помимо встроенной функции Android Studio, есть отличный плагин Gradle, который называется Gradle Versions Plugin, который делает именно то, что вы хотите, с преимуществом простого расширения Gradle, поэтому НЕ связывается с какой-либо конкретной IDE, поэтому полезно для любого проекта, использующего Gradle.

Плагин Gradle Versions может создавать отчеты в удобном для чтения виде в текстовом виде, а также выводить их в виде 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.android.databinding:adapters:1.3.1
 - com.joanzapata.iconify:android-iconify-entypo:2.2.2
 - com.joanzapata.iconify:android-iconify-fontawesome:2.2.2
 - com.webnetmobile.tools: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

Смотрите документы для подробных примеров использования.


ПРИМЕЧАНИЕ: версии выше 0.17.0 производят больше вывода в текстовом формате плана, в т.ч. URL проекта, что делает весь вывод раздутым. Если вы, как я считаю, бесполезно, придерживайтесь версии 0.17.0.

Ответ 4

DEPRECATED - СМОТРИТЕ ПРИНЯТЫЙ ОТВЕТ ДЛЯ СОВРЕМЕННОГО ПУТИ

Инструмент, представленный ниже, не работает в новых версиях Android Studio/ Gradle, и его автор больше не поддерживает его (от 30/10/2016). Поэтому решение, представленное в принятом ответе, должно использоваться, если оно не работает со старой версией Android Studio.


По состоянию на январь 2016 года есть плагин для Android Studio, который делает что-то подобное, называется Defendencies Version Checker, и источники которого можно найти на GitHub.

Его можно добавить через встроенный интерфейс (Настройки > Плагины > Обзор репозиториев...):

Как выглядит внутри встроенного интерфейса

После установки и перезапуска в пользовательском интерфейсе появляется следующая вкладка:

Новая вкладка пользовательского интерфейса, которая появляется после перезагрузки.

Соответствующий build.gradle следует вставить в левую часть панели VersionChecker и нажать кнопку Version Check. Результатом является таблица, которая появляется с правой стороны, которая включает в себя последние версии библиотек, используемых в вставленном script (как показано на рисунке выше).

Ответ 5

Для зависимостей библиотеки поддержки (com.android.support) существует лучший вариант - andle

Он также может запросить центр jcenter и maven.

Простой три шага для одновременного обновления всего проекта.

1. установить:

    $ sudo pip install andle

2. set sdk:

    $ andle setsdk -p <sdk_path>

3. update depedency:

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

- dryrun: только результат печати в консоли

- удаленный: проверьте версию в jcenter и mavenCentral

- gradle: проверить gradle версию

Подробнее см. https://github.com/Jintin/andle

Ответ 6

См. Файл> Структура проекта, затем нажмите "Предложения". Я знаю, что это решение было предложено Хемантом Шармой и Джеремиасом Герсичичем, но Android Studio изменила его в версии 3.4.1.

enter image description here

Ответ 7

Я имел дело с этой же проблемой и попробовал ответ fooobar.com/questions/50244/...

То, что действительно работало для меня на Android Studio 3.4.1, было:

File -> Project Structure -> Dependencies

Как только вы достигнете этой точки, будут перечислены все зависимости, которые включены в ваш проект или модуль. Те, которые устарели, будут подчеркнуты, и когда вы выберете один, будут показаны детали этого, что даст вам возможность обновить переменную (если она отделена от декларации) или зависимость.

В последнее время, но это было то, что работало для меня.

Ответ 8

Чтобы получить обновленную или рекомендованную для вашего проекта зависимость должна быть такой же, как у android project

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

Когда вы дойдете до вкладки зависимостей, нажмите кнопку +, которая находится в верхнем правом углу окна. Когда вы щелкнете по + Выбрать Library Dependency, откроется новое окно для Choose Library Dependency Найдите вашу зависимость в окне поиска, все перечисленные зависимости Android обновятся.